You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mi...@apache.org on 2016/02/05 17:45:58 UTC

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

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site a8725a460 -> 1b9384b25


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/testdevapidocs/org/apache/hadoop/hbase/TestRegionServerMetrics.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/TestRegionServerMetrics.html b/testdevapidocs/org/apache/hadoop/hbase/TestRegionServerMetrics.html
new file mode 100644
index 0000000..3a0da01
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/TestRegionServerMetrics.html
@@ -0,0 +1,777 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TestRegionServerMetrics (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="TestRegionServerMetrics (Apache HBase 2.0.0-SNAPSHOT Test API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestRegionServerMetrics.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/hadoop/hbase/TestRegionRebalancing.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/TestRegionServerMetrics.html" target="_top">Frames</a></li>
+<li><a href="TestRegionServerMetrics.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase</div>
+<h2 title="Class TestRegionServerMetrics" class="title">Class TestRegionServerMetrics</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.TestRegionServerMetrics</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.52">TestRegionServerMetrics</a>
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase">TestRegionServerMetrics.Metric</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static org.apache.hadoop.hbase.client.Admin</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#admin">admin</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#CF1">CF1</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#CF2">CF2</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#COL1">COL1</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#COL2">COL2</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#COL3">COL3</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static int</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#MAX_TRY">MAX_TRY</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase">TestRegionServerMetrics.Metric</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#requestsMap">requestsMap</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase">TestRegionServerMetrics.Metric</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#requestsMapPrev">requestsMapPrev</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#ROW1">ROW1</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#ROW2">ROW2</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#ROW3">ROW3</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.hadoop.hbase.ServerName&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#serverNames">serverNames</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static int</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#SLEEP_MS">SLEEP_MS</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static org.apache.hadoop.hbase.client.Table</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#table">table</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static org.apache.hadoop.hbase.TableName</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#TABLE_NAME">TABLE_NAME</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.HRegionInfo&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#tableRegions">tableRegions</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#TEST_UTIL">TEST_UTIL</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static int</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#TTL">TTL</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#VAL1">VAL1</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#VAL2">VAL2</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#VAL3">VAL3</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#TestRegionServerMetrics()">TestRegionServerMetrics</a></strong>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static org.apache.hadoop.hbase.client.Table</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#createTable()">createTable</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static long</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#getReadRequest(org.apache.hadoop.hbase.ServerLoad,%20org.apache.hadoop.hbase.RegionLoad,%20org.apache.hadoop.hbase.TestRegionServerMetrics.Metric)">getReadRequest</a></strong>(org.apache.hadoop.hbase.ServerLoad&nbsp;serverLoad,
+                            org.apache.hadoop.hbase.RegionLoad&nbsp;regionLoad,
+                            <a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase">TestRegionServerMetrics.Metric</a>&nbsp;metric)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#putData()">putData</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#putTTLExpiredData()">putTTLExpiredData</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#setUpOnce()">setUpOnce</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#tearDownOnce()">tearDownOnce</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#testReadRequests(long,%20long,%20long)">testReadRequests</a></strong>(long&nbsp;resultCount,
+                                long&nbsp;expectedReadRequests,
+                                long&nbsp;expectedFilteredReadRequests)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#testReadRequestsCountNotFiltered()">testReadRequestsCountNotFiltered</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#testReadRequestsCountWithDeletedRow()">testReadRequestsCountWithDeletedRow</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#testReadRequestsCountWithFilter()">testReadRequestsCountWithFilter</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#testReadRequestsCountWithTTLExpiration()">testReadRequestsCountWithTTLExpiration</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html#updateMetricsMap()">updateMetricsMap</a></strong>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="TEST_UTIL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TEST_UTIL</h4>
+<pre>private static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.53">TEST_UTIL</a></pre>
+</li>
+</ul>
+<a name="TABLE_NAME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TABLE_NAME</h4>
+<pre>private static final&nbsp;org.apache.hadoop.hbase.TableName <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.54">TABLE_NAME</a></pre>
+</li>
+</ul>
+<a name="CF1">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CF1</h4>
+<pre>private static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.55">CF1</a></pre>
+</li>
+</ul>
+<a name="CF2">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CF2</h4>
+<pre>private static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.56">CF2</a></pre>
+</li>
+</ul>
+<a name="ROW1">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ROW1</h4>
+<pre>private static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.58">ROW1</a></pre>
+</li>
+</ul>
+<a name="ROW2">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ROW2</h4>
+<pre>private static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.59">ROW2</a></pre>
+</li>
+</ul>
+<a name="ROW3">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ROW3</h4>
+<pre>private static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.60">ROW3</a></pre>
+</li>
+</ul>
+<a name="COL1">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COL1</h4>
+<pre>private static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.61">COL1</a></pre>
+</li>
+</ul>
+<a name="COL2">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COL2</h4>
+<pre>private static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.62">COL2</a></pre>
+</li>
+</ul>
+<a name="COL3">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COL3</h4>
+<pre>private static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.63">COL3</a></pre>
+</li>
+</ul>
+<a name="VAL1">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>VAL1</h4>
+<pre>private static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.64">VAL1</a></pre>
+</li>
+</ul>
+<a name="VAL2">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>VAL2</h4>
+<pre>private static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.65">VAL2</a></pre>
+</li>
+</ul>
+<a name="VAL3">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>VAL3</h4>
+<pre>private static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.66">VAL3</a></pre>
+</li>
+</ul>
+<a name="MAX_TRY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MAX_TRY</h4>
+<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.68">MAX_TRY</a></pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.TestRegionServerMetrics.MAX_TRY">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+<a name="SLEEP_MS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SLEEP_MS</h4>
+<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.69">SLEEP_MS</a></pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.TestRegionServerMetrics.SLEEP_MS">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+<a name="TTL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TTL</h4>
+<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.70">TTL</a></pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.TestRegionServerMetrics.TTL">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+<a name="admin">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>admin</h4>
+<pre>private static&nbsp;org.apache.hadoop.hbase.client.Admin <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.72">admin</a></pre>
+</li>
+</ul>
+<a name="serverNames">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serverNames</h4>
+<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.hadoop.hbase.ServerName&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.73">serverNames</a></pre>
+</li>
+</ul>
+<a name="table">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>table</h4>
+<pre>private static&nbsp;org.apache.hadoop.hbase.client.Table <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.74">table</a></pre>
+</li>
+</ul>
+<a name="tableRegions">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tableRegions</h4>
+<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.HRegionInfo&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.75">tableRegions</a></pre>
+</li>
+</ul>
+<a name="requestsMap">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>requestsMap</h4>
+<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase">TestRegionServerMetrics.Metric</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.77">requestsMap</a></pre>
+</li>
+</ul>
+<a name="requestsMapPrev">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>requestsMapPrev</h4>
+<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase">TestRegionServerMetrics.Metric</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.78">requestsMapPrev</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TestRegionServerMetrics()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TestRegionServerMetrics</h4>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.52">TestRegionServerMetrics</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setUpOnce()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUpOnce</h4>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.81">setUpOnce</a>()
+                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
+</li>
+</ul>
+<a name="createTable()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createTable</h4>
+<pre>private static&nbsp;org.apache.hadoop.hbase.client.Table&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.95">createTable</a>()
+                                                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
+</li>
+</ul>
+<a name="testReadRequests(long, long, long)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testReadRequests</h4>
+<pre>private static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.107">testReadRequests</a>(long&nbsp;resultCount,
+                    long&nbsp;expectedReadRequests,
+                    long&nbsp;expectedFilteredReadRequests)
+                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+                                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd></dl>
+</li>
+</ul>
+<a name="updateMetricsMap()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateMetricsMap</h4>
+<pre>private static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.127">updateMetricsMap</a>()
+                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+                                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd></dl>
+</li>
+</ul>
+<a name="getReadRequest(org.apache.hadoop.hbase.ServerLoad, org.apache.hadoop.hbase.RegionLoad, org.apache.hadoop.hbase.TestRegionServerMetrics.Metric)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReadRequest</h4>
+<pre>private static&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.168">getReadRequest</a>(org.apache.hadoop.hbase.ServerLoad&nbsp;serverLoad,
+                  org.apache.hadoop.hbase.RegionLoad&nbsp;regionLoad,
+                  <a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase">TestRegionServerMetrics.Metric</a>&nbsp;metric)</pre>
+</li>
+</ul>
+<a name="putData()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>putData</h4>
+<pre>private static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.183">putData</a>()
+                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
+</li>
+</ul>
+<a name="putTTLExpiredData()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>putTTLExpiredData</h4>
+<pre>private static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.201">putTTLExpiredData</a>()
+                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+                                      <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd></dl>
+</li>
+</ul>
+<a name="tearDownOnce()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tearDownOnce</h4>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.223">tearDownOnce</a>()
+                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
+</li>
+</ul>
+<a name="testReadRequestsCountNotFiltered()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testReadRequestsCountNotFiltered</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.228">testReadRequestsCountNotFiltered</a>()
+                                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
+</li>
+</ul>
+<a name="testReadRequestsCountWithFilter()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testReadRequestsCountWithFilter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.296">testReadRequestsCountWithFilter</a>()
+                                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
+</li>
+</ul>
+<a name="testReadRequestsCountWithDeletedRow()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testReadRequestsCountWithDeletedRow</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.342">testReadRequestsCountWithDeletedRow</a>()
+                                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
+</li>
+</ul>
+<a name="testReadRequestsCountWithTTLExpiration()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testReadRequestsCountWithTTLExpiration</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestRegionServerMetrics.html#line.364">testReadRequestsCountWithTTLExpiration</a>()
+                                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestRegionServerMetrics.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/hadoop/hbase/TestRegionRebalancing.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/TestRegionServerMetrics.html" target="_top">Frames</a></li>
+<li><a href="TestRegionServerMetrics.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>


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

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


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html
index d03724e..658fe8f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html
@@ -292,7951 +292,7969 @@
 <span class="sourceLineNo">284</span><a name="line.284"></a>
 <span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter writeRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  // Number of requests blocked by memstore size.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  // Compaction counters<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>  private final WAL wal;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final HRegionFileSystem fs;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  protected final Configuration conf;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  private final Configuration baseConf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final int rowLockWaitDuration;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  // The internal wait duration to acquire a lock before read/update<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // we can release the IPC handler soon enough to improve the<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // availability of the region server. It can be adjusted by<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  final long busyWaitDuration;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>  // If updating multiple rows in one call, wait longer,<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // we can limit the max multiplier.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  final int maxBusyWaitMultiplier;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  final long maxBusyWaitDuration;<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  // negative number indicates infinite timeout<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * The sequence ID that was encountered when this region was opened.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * scan requests to this region. Requests can override it.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  //<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // are equal to or lower than maxSeqId for each store.<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // The following map is populated when opening the region<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>  /** Saved state from replaying prepare flush cache */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  /**<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   */<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private boolean disallowWritesInRecovering = false;<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  private volatile boolean recovering = false;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>  /**<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * region. Writes older than this readPoint, are included in every<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * read operation.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  public long getSmallestReadPoint() {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    long minimumReadPoint;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    synchronized(scannerReadPoints) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          minimumReadPoint = readPoint;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return minimumReadPoint;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  /*<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * Data structure of write state flags used coordinating flushes,<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * compactions and closes.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  static class WriteState {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // Set while a memstore flush is happening.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    volatile boolean flushing = false;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // Set when a flush has been requested.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    volatile boolean flushRequested = false;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // Number of compactions running.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    volatile boolean writesEnabled = true;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // Set if region is read-only<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    volatile boolean readOnly = false;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    volatile boolean readsEnabled = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>    /**<a name="line.405"></a>
-<span class="sourceLineNo">406</span>     * Set flags that make this region read-only.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     *<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     * @param onOff flip value for region r/o setting<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.writesEnabled = !onOff;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.readOnly = onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>    boolean isReadOnly() {<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return this.flushRequested;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      this.readsEnabled = readsEnabled;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  /**<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * if it didn't flush.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public static class FlushResultImpl implements FlushResult {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    final Result result;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final String failureReason;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final long flushSequenceId;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final boolean wroteFlushWalMarker;<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    /**<a name="line.443"></a>
-<span class="sourceLineNo">444</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * null.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     *                        memstores.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     */<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      this(result, flushSequenceId, null, false);<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>     * Convenience constructor to use when we cannot flush.<a name="line.457"></a>
-<span class="sourceLineNo">458</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>     * @param failureReason Reason why we couldn't flush.<a name="line.459"></a>
-<span class="sourceLineNo">460</span>     */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>    /**<a name="line.466"></a>
-<span class="sourceLineNo">467</span>     * Constructor with all the parameters.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @param result Any of the Result.<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>     */<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      boolean wroteFlushMarker) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      this.result = result;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      this.flushSequenceId = flushSequenceId;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      this.failureReason = failureReason;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      this.wroteFlushWalMarker = wroteFlushMarker;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>    /**<a name="line.480"></a>
-<span class="sourceLineNo">481</span>     * Convenience method, the equivalent of checking if result is<a name="line.481"></a>
-<span class="sourceLineNo">482</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>     * @return true if the memstores were flushed, else false.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>     */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public boolean isFlushSucceeded() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.487"></a>
-<span class="sourceLineNo">488</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>    /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<a name="line.493"></a>
-<span class="sourceLineNo">494</span>     */<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    @Override<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    public boolean isCompactionNeeded() {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    }<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    @Override<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    public String toString() {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      return new StringBuilder()<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        .append("flush result:").append(result).append(", ")<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        .append("flush seq id").append(flushSequenceId).toString();<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    @Override<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    public Result getResult() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      return result;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  }<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span>  /** A result object from prepare flush cache stage */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static class PrepareFlushResult {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    final FlushResult result; // indicating a failure result from prepare<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    final TreeMap&lt;byte[], Long&gt; storeFlushableSize;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    final long startTime;<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    final long flushOpSeqId;<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    final long flushedSeqId;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    final long totalFlushableSize;<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    /** Constructs an early exit case */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    PrepareFlushResult(FlushResult result, long flushSeqId) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, 0);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>    /** Constructs a successful prepare flush result */<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    PrepareFlushResult(<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        flushSeqId, flushedSeqId, totalFlushableSize);<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    }<a name="line.539"></a>
-<span class="sourceLineNo">540</span><a name="line.540"></a>
-<span class="sourceLineNo">541</span>    private PrepareFlushResult(<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      FlushResult result,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      this.result = result;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      this.committedFiles = committedFiles;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      this.startTime = startTime;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      this.flushOpSeqId = flushSeqId;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      this.flushedSeqId = flushedSeqId;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      this.totalFlushableSize = totalFlushableSize;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    }<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    public FlushResult getResult() {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      return this.result;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  final WriteState writestate = new WriteState();<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  long memstoreFlushSize;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  final long timestampSlop;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  final long rowProcessorTimeout;<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  private final ConcurrentMap&lt;Store, Long&gt; lastStoreFlushTimeMap =<a name="line.569"></a>
-<span class="sourceLineNo">570</span>      new ConcurrentHashMap&lt;Store, Long&gt;();<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>  final RegionServerServices rsServices;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private RegionServerAccounting rsAccounting;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  private long flushCheckInterval;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.575"></a>
-<span class="sourceLineNo">576</span>  private long flushPerChanges;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  private long blockingMemStoreSize;<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  final long threadWakeFrequency;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  // Used to guard closes<a name="line.579"></a>
-<span class="sourceLineNo">580</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span>  // Stop updates lock<a name="line.582"></a>
-<span class="sourceLineNo">583</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.583"></a>
-<span class="sourceLineNo">584</span>  private boolean splitRequest;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>  private byte[] explicitSplitPoint = null;<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  // Coprocessor host<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.590"></a>
-<span class="sourceLineNo">591</span><a name="line.591"></a>
-<span class="sourceLineNo">592</span>  private HTableDescriptor htableDescriptor = null;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>  private RegionSplitPolicy splitPolicy;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  private FlushPolicy flushPolicy;<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>  private final MetricsRegion metricsRegion;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>  private final Durability durability;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  private final boolean regionStatsEnabled;<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>  /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   *<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * usually the table directory.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * The wal file is a logfile from the previous execution that's<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * the supplied path.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param fs is the filesystem.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @param confParam is global configuration settings.<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @param regionInfo - HRegionInfo that describes the region<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * is new), then read them from the supplied path.<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param htd the table descriptor<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @deprecated Use other constructors.<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  @Deprecated<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  @VisibleForTesting<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      final Configuration confParam, final HRegionInfo regionInfo,<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.627"></a>
-<span class="sourceLineNo">628</span>      wal, confParam, htd, rsServices);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>  }<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>  /**<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   *<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * @param fs is the filesystem.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * The wal file is a logfile from the previous execution that's<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.640"></a>
-<span class="sourceLineNo">641</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   * the supplied path.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * @param confParam is global configuration settings.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @param htd the table descriptor<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    if (htd == null) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      throw new IllegalArgumentException("Need table descriptor");<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    }<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span>    if (confParam instanceof CompoundConfiguration) {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      throw new IllegalArgumentException("Need original base configuration");<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>    this.wal = wal;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    this.fs = fs;<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    this.baseConf = confParam;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.conf = new CompoundConfiguration()<a name="line.662"></a>
-<span class="sourceLineNo">663</span>      .add(confParam)<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      .addStringMap(htd.getConfiguration())<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      .addBytesMap(htd.getValues());<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.670"></a>
-<span class="sourceLineNo">671</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.673"></a>
-<span class="sourceLineNo">674</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.674"></a>
-<span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span>    this.maxWaitForSeqId = conf.getInt(MAX_WAIT_FOR_SEQ_ID_KEY, DEFAULT_MAX_WAIT_FOR_SEQ_ID);<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    this.htableDescriptor = htd;<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.rsServices = rsServices;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    this.threadWakeFrequency = conf.getLong(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    setHTableSpecificConf();<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;RegionScanner, Long&gt;();<a name="line.682"></a>
-<span class="sourceLineNo">683</span><a name="line.683"></a>
-<span class="sourceLineNo">684</span>    this.busyWaitDuration = conf.getLong(<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.688"></a>
-<span class="sourceLineNo">689</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.689"></a>
-<span class="sourceLineNo">690</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    }<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>    /*<a name="line.695"></a>
-<span class="sourceLineNo">696</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.698"></a>
-<span class="sourceLineNo">699</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.699"></a>
-<span class="sourceLineNo">700</span>     */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    this.timestampSlop = conf.getLong(<a name="line.701"></a>
-<span class="sourceLineNo">702</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        HConstants.LATEST_TIMESTAMP);<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>    /**<a name="line.705"></a>
-<span class="sourceLineNo">706</span>     * Timeout for the process time in processRowsWithLocks().<a name="line.706"></a>
-<span class="sourceLineNo">707</span>     * Use -1 to switch off time bound.<a name="line.707"></a>
-<span class="sourceLineNo">708</span>     */<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    this.durability = htd.getDurability() == Durability.USE_DEFAULT<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        ? DEFAULT_DURABILITY<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        : htd.getDurability();<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    if (rsServices != null) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>      Map&lt;String, Region&gt; recoveringRegions = rsServices.getRecoveringRegions();<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      String encodedName = getRegionInfo().getEncodedName();<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      if (recoveringRegions != null &amp;&amp; recoveringRegions.containsKey(encodedName)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        this.recovering = true;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        recoveringRegions.put(encodedName, this);<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      }<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    } else {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.metricsRegionWrapper = null;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      this.metricsRegion = null;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    if (LOG.isDebugEnabled()) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      // Write out region name as string and its encoded name.<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      LOG.debug("Instantiated " + this);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>    }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>    // by default, we allow writes against a region when it's in recovering<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    this.disallowWritesInRecovering =<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        conf.getBoolean(HConstants.DISALLOW_WRITES_IN_RECOVERING,<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          HConstants.DEFAULT_DISALLOW_WRITES_IN_RECOVERING_CONFIG);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    configurationManager = Optional.absent();<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.744"></a>
-<span class="sourceLineNo">745</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          false :<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.747"></a>
-<span class="sourceLineNo">748</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  }<a name="line.749"></a>
-<span class="sourceLineNo">750</span><a name="line.750"></a>
-<span class="sourceLineNo">751</span>  void setHTableSpecificConf() {<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    if (this.htableDescriptor == null) return;<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.753"></a>
-<span class="sourceLineNo">754</span><a name="line.754"></a>
-<span class="sourceLineNo">755</span>    if (flushSize &lt;= 0) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        HTableDescriptor.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    this.memstoreFlushSize = flushSize;<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.760"></a>
-<span class="sourceLineNo">761</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  }<a name="line.763"></a>
-<span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>  /**<a name="line.765"></a>
-<span class="sourceLineNo">766</span>   * Initialize this region.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * You should use createHRegion() or openHRegion()<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * @return What the next sequence (edit) id should be.<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * @throws IOException e<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   */<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  @Deprecated<a name="line.773"></a>
-<span class="sourceLineNo">774</span>  public long initialize() throws IOException {<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    return initialize(null);<a name="line.775"></a>
-<span class="sourceLineNo">776</span>  }<a name="line.776"></a>
-<span class="sourceLineNo">777</span><a name="line.777"></a>
-<span class="sourceLineNo">778</span>  /**<a name="line.778"></a>
-<span class="sourceLineNo">779</span>   * Initialize this region.<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   *<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * @return What the next sequence (edit) id should be.<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * @throws IOException e<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   */<a name="line.784"></a>
-<span class="sourceLineNo">785</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    long nextSeqId = -1;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    try {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.789"></a>
-<span class="sourceLineNo">790</span>      return nextSeqId;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    } finally {<a name="line.791"></a>
-<span class="sourceLineNo">792</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      // At least it will be 0 otherwise.<a name="line.793"></a>
-<span class="sourceLineNo">794</span>      if (nextSeqId == -1) {<a name="line.794"></a>
-<span class="sourceLineNo">795</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.795"></a>
-<span class="sourceLineNo">796</span>          " initialization.");<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      }<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span>  }<a name="line.799"></a>
-<span class="sourceLineNo">800</span><a name="line.800"></a>
-<span class="sourceLineNo">801</span>  private long initializeRegionInternals(final CancelableProgressable reporter,<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      final MonitoredTask status) throws IOException {<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    if (coprocessorHost != null) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      status.setStatus("Running coprocessor pre-open hook");<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      coprocessorHost.preOpen();<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    // Write HRI to a file in case we need to recover hbase:meta<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    status.setStatus("Writing region info on filesystem");<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    fs.checkRegionInfoOnFilesystem();<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    // Initialize all the HStores<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    status.setStatus("Initializing all the Stores");<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    long maxSeqId = initializeStores(reporter, status);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    this.mvcc.advanceTo(maxSeqId);<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    if (ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      // Recover any edits if available.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      maxSeqId = Math.max(maxSeqId,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>        replayRecoveredEditsIfAny(this.fs.getRegionDir(), maxSeqIdInStores, reporter, status));<a name="line.819"></a>
-<span class="sourceLineNo">820</span>      // Make sure mvcc is up to max.<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.mvcc.advanceTo(maxSeqId);<a name="line.821"></a>
-<span class="sourceLineNo">822</span>    }<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    this.lastReplayedOpenRegionSeqId = maxSeqId;<a name="line.823"></a>
-<span class="sourceLineNo">824</span><a name="line.824"></a>
-<span class="sourceLineNo">825</span>    this.writestate.setReadOnly(ServerRegionReplicaUtil.isReadOnly(this));<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    this.writestate.flushRequested = false;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    this.writestate.compacting.set(0);<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span>    if (this.writestate.writesEnabled) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      // Remove temporary data left over from old regions<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      status.setStatus("Cleaning up temporary data from old regions");<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      fs.cleanupTempDir();<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
-<span class="sourceLineNo">834</span><a name="line.834"></a>
-<span class="sourceLineNo">835</span>    if (this.writestate.writesEnabled) {<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      status.setStatus("Cleaning up detritus from prior splits");<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      // Get rid of any splits or merges that were lost in-progress.  Clean out<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      // these directories here on open.  We may be opening a region that was<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      // being split but we crashed in the middle of it all.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>      fs.cleanupAnySplitDetritus();<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      fs.cleanupMergesDir();<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Initialize split policy<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    this.splitPolicy = RegionSplitPolicy.create(this, conf);<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span>    // Initialize flush policy<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    this.flushPolicy = FlushPolicyFactory.create(this, conf);<a name="line.848"></a>
-<span class="sourceLineNo">849</span><a name="line.849"></a>
-<span class="sourceLineNo">850</span>    long lastFlushTime = EnvironmentEdgeManager.currentTime();<a name="line.850"></a>
-<span class="sourceLineNo">851</span>    for (Store store: stores.values()) {<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      this.lastStoreFlushTimeMap.put(store, lastFlushTime);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>    // Use maximum of log sequenceid or that which was found in stores<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    // (particularly if no recovered edits, seqid will be -1).<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    long nextSeqid = maxSeqId;<a name="line.857"></a>
-<span class="sourceLineNo">858</span><a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // In distributedLogReplay mode, we don't know the last change sequence number because region<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // is opened before recovery completes. So we add a safety bumper to avoid new sequence number<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    // overlaps used sequence numbers<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (this.writestate.writesEnabled) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      nextSeqid = WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs<a name="line.863"></a>
-<span class="sourceLineNo">864</span>          .getRegionDir(), nextSeqid, (this.recovering ? (this.flushPerChanges + 10000000) : 1));<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    } else {<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      nextSeqid++;<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>    LOG.info("Onlined " + this.getRegionInfo().getShortNameToLog() +<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      "; next sequenceid=" + nextSeqid);<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    // A region can be reopened if failed a split; reset flags<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    this.closing.set(false);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    this.closed.set(false);<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    if (coprocessorHost != null) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      status.setStatus("Running coprocessor post-open hooks");<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      coprocessorHost.postOpen();<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span>    status.markComplete("Region opened successfully");<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    return nextSeqid;<a name="line.882"></a>
-<span class="sourceLineNo">883</span>  }<a name="line.883"></a>
-<span class="sourceLineNo">884</span><a name="line.884"></a>
-<span class="sourceLineNo">885</span>  /**<a name="line.885"></a>
-<span class="sourceLineNo">886</span>   * Open all Stores.<a name="line.886"></a>
-<span class="sourceLineNo">887</span>   * @param reporter<a name="line.887"></a>
-<span class="sourceLineNo">888</span>   * @param status<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * @return Highest sequenceId found out in a Store.<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * @throws IOException<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   */<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  private long initializeStores(final CancelableProgressable reporter, MonitoredTask status)<a name="line.892"></a>
-<span class="sourceLineNo">893</span>  throws IOException {<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    // Load in all the HStores.<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    long maxSeqId = -1;<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    // initialized to -1 so that we pick up MemstoreTS from column families<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    long maxMemstoreTS = -1;<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    if (!htableDescriptor.getFamilies().isEmpty()) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      // initialize the thread pool for opening stores in parallel.<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      ThreadPoolExecutor storeOpenerThreadPool =<a name="line.902"></a>
-<span class="sourceLineNo">903</span>        getStoreOpenAndCloseThreadPool("StoreOpener-" + this.getRegionInfo().getShortNameToLog());<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      CompletionService&lt;HStore&gt; completionService =<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        new ExecutorCompletionService&lt;HStore&gt;(storeOpenerThreadPool);<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span>      // initialize each store in parallel<a name="line.907"></a>
-<span class="sourceLineNo">908</span>      for (final HColumnDescriptor family : htableDescriptor.getFamilies()) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        status.setStatus("Instantiating store for column family " + family);<a name="line.909"></a>
-<span class="sourceLineNo">910</span>        completionService.submit(new Callable&lt;HStore&gt;() {<a name="line.910"></a>
-<span class="sourceLineNo">911</span>          @Override<a name="line.911"></a>
-<span class="sourceLineNo">912</span>          public HStore call() throws IOException {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>            return instantiateHStore(family);<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>      boolean allStoresOpened = false;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>      try {<a name="line.918"></a>
-<span class="sourceLineNo">919</span>        for (int i = 0; i &lt; htableDescriptor.getFamilies().size(); i++) {<a name="line.919"></a>
-<span class="sourceLineNo">920</span>          Future&lt;HStore&gt; future = completionService.take();<a name="line.920"></a>
-<span class="sourceLineNo">921</span>          HStore store = future.get();<a name="line.921"></a>
-<span class="sourceLineNo">922</span>          this.stores.put(store.getFamily().getName(), store);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>          long storeMaxSequenceId = store.getMaxSequenceId();<a name="line.924"></a>
-<span class="sourceLineNo">925</span>          maxSeqIdInStores.put(store.getColumnFamilyName().getBytes(),<a name="line.925"></a>
-<span class="sourceLineNo">926</span>              storeMaxSequenceId);<a name="line.926"></a>
-<span class="sourceLineNo">927</span>          if (maxSeqId == -1 || storeMaxSequenceId &gt; maxSeqId) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>            maxSeqId = storeMaxSequenceId;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>          }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>          long maxStoreMemstoreTS = store.getMaxMemstoreTS();<a name="line.930"></a>
-<span class="sourceLineNo">931</span>          if (maxStoreMemstoreTS &gt; maxMemstoreTS) {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>            maxMemstoreTS = maxStoreMemstoreTS;<a name="line.932"></a>
-<span class="sourceLineNo">933</span>          }<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        }<a name="line.934"></a>
-<span class="sourceLineNo">935</span>        allStoresOpened = true;<a name="line.935"></a>
-<span class="sourceLineNo">936</span>      } catch (InterruptedException e) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>        throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>      } catch (ExecutionException e) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span>        throw new IOException(e.getCause());<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      } finally {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        storeOpenerThreadPool.shutdownNow();<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        if (!allStoresOpened) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>          // something went wrong, close all opened stores<a name="line.943"></a>
-<span class="sourceLineNo">944</span>          LOG.error("Could not initialize all stores for the region=" + this);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>          for (Store store : this.stores.values()) {<a name="line.945"></a>
-<span class="sourceLineNo">946</span>            try {<a name="line.946"></a>
-<span class="sourceLineNo">947</span>              store.close();<a name="line.947"></a>
-<span class="sourceLineNo">948</span>            } catch (IOException e) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>              LOG.warn(e.getMessage());<a name="line.949"></a>
-<span class="sourceLineNo">950</span>            }<a name="line.950"></a>
-<span class="sourceLineNo">951</span>          }<a name="line.951"></a>
-<span class="sourceLineNo">952</span>        }<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      }<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    return Math.max(maxSeqId, maxMemstoreTS + 1);<a name="line.955"></a>
-<span class="sourceLineNo">956</span>  }<a name="line.956"></a>
-<span class="sourceLineNo">957</span><a name="line.957"></a>
-<span class="sourceLineNo">958</span>  private void initializeWarmup(final CancelableProgressable reporter) throws IOException {<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.959"></a>
-<span class="sourceLineNo">960</span><a name="line.960"></a>
-<span class="sourceLineNo">961</span>    // Initialize all the HStores<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    status.setStatus("Warming up all the Stores");<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    initializeStores(reporter, status);<a name="line.963"></a>
-<span class="sourceLineNo">964</span>  }<a name="line.964"></a>
-<span class="sourceLineNo">965</span><a name="line.965"></a>
-<span class="sourceLineNo">966</span>  /**<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   * @return Map of StoreFiles by column family<a name="line.967"></a>
-<span class="sourceLineNo">968</span>   */<a name="line.968"></a>
-<span class="sourceLineNo">969</span>  private NavigableMap&lt;byte[], List&lt;Path&gt;&gt; getStoreFiles() {<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    NavigableMap&lt;byte[], List&lt;Path&gt;&gt; allStoreFiles =<a name="line.970"></a>
-<span class="sourceLineNo">971</span>      new TreeMap&lt;byte[], List&lt;Path&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    for (Store store: getStores()) {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.973"></a>
-<span class="sourceLineNo">974</span>      if (storeFiles == null) continue;<a name="line.974"></a>
-<span class="sourceLineNo">975</span>      List&lt;Path&gt; storeFileNames = new ArrayList&lt;Path&gt;();<a name="line.975"></a>
-<span class="sourceLineNo">976</span>      for (StoreFile storeFile: storeFiles) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>        storeFileNames.add(storeFile.getPath());<a name="line.977"></a>
-<span class="sourceLineNo">978</span>      }<a name="line.978"></a>
-<span class="sourceLineNo">979</span>      allStoreFiles.put(store.getFamily().getName(), storeFileNames);<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    }<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    return allStoreFiles;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>  }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>  private void writeRegionOpenMarker(WAL wal, long openSeqId) throws IOException {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    RegionEventDescriptor regionOpenDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      RegionEventDescriptor.EventType.REGION_OPEN, getRegionInfo(), openSeqId,<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.988"></a>
-<span class="sourceLineNo">989</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionOpenDesc, mvcc);<a name="line.989"></a>
-<span class="sourceLineNo">990</span>  }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>  private void writeRegionCloseMarker(WAL wal) throws IOException {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    RegionEventDescriptor regionEventDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.994"></a>
-<span class="sourceLineNo">995</span>      RegionEventDescriptor.EventType.REGION_CLOSE, getRegionInfo(), mvcc.getReadPoint(),<a name="line.995"></a>
-<span class="sourceLineNo">996</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionEventDesc, mvcc);<a name="line.997"></a>
-<span class="sourceLineNo">998</span><a name="line.998"></a>
-<span class="sourceLineNo">999</span>    // Store SeqId in HDFS when a region closes<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    // checking region folder exists is due to many tests which delete the table folder while a<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    // table is still online<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    if (this.fs.getFileSystem().exists(this.fs.getRegionDir())) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>      WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs.getRegionDir(),<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>        mvcc.getReadPoint(), 0);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>    }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>  }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>  /**<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>   * @return True if this region has references.<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>   */<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>  public boolean hasReferences() {<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    for (Store store : this.stores.values()) {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      if (store.hasReferences()) return true;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>    return false;<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>  }<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span><a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  @Override<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  public HDFSBlocksDistribution getHDFSBlocksDistribution() {<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      new HDFSBlocksDistribution();<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    synchronized (this.stores) {<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>      for (Store store : this.stores.values()) {<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>        Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>        if (storeFiles == null) continue;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>        for (StoreFile sf : storeFiles) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>          HDFSBlocksDistribution storeFileBlocksDistribution =<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>            sf.getHDFSBlockDistribution();<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>          hdfsBlocksDistribution.add(storeFileBlocksDistribution);<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>    }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>    return hdfsBlocksDistribution;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>  /**<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>   * @param conf configuration<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>   * @param regionInfo encoded name of the region<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   * @throws IOException<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   */<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo) throws IOException {<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    Path tablePath = FSUtils.getTableDir(FSUtils.getRootDir(conf), tableDescriptor.getTableName());<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>    return computeHDFSBlocksDistribution(conf, tableDescriptor, regionInfo, tablePath);<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  }<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span><a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  /**<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>   * @param conf configuration<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * @param regionInfo encoded name of the region<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * @param tablePath the table directory<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>   * @throws IOException<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>   */<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo,  Path tablePath)<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>      throws IOException {<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    HDFSBlocksDistribution hdfsBlocksDistribution = new HDFSBlocksDistribution();<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>    FileSystem fs = tablePath.getFileSystem(conf);<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span><a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    HRegionFileSystem regionFs = new HRegionFileSystem(conf, fs, tablePath, regionInfo);<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    for (HColumnDescriptor family: tableDescriptor.getFamilies()) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      Collection&lt;StoreFileInfo&gt; storeFiles = regionFs.getStoreFiles(family.getNameAsString());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>      if (storeFiles == null) continue;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>      for (StoreFileInfo storeFileInfo : storeFiles) {<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>        try {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>          hdfsBlocksDistribution.add(storeFileInfo.computeHDFSBlocksDistribution(fs));<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        } catch (IOException ioe) {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>          LOG.warn("Error getting hdfs block distribution for " + storeFileInfo);<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>        }<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    return hdfsBlocksDistribution;<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>  /**<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>   * Increase the size of mem store in this region and the size of global mem<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>   * store<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>   * @return the size of memstore in this region<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   */<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>  public long addAndGetGlobalMemstoreSize(long memStoreSize) {<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    if (this.rsAccounting != null) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>      rsAccounting.addAndGetGlobalMemstoreSize(memStoreSize);<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>    }<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    return this.memstoreSize.addAndGet(memStoreSize);<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  }<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span><a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>  @Override<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>  public HRegionInfo getRegionInfo() {<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>    return this.fs.getRegionInfo();<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  }<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>   * @return Instance of {@link RegionServerServices} used by this HRegion.<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * Can be null.<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   */<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>  RegionServerServices getRegionServerServices() {<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    return this.rsServices;<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  }<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span><a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  @Override<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>  public long getReadRequestsCount() {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    return readRequestsCount.get();<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>  }<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span><a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>  @Override<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  public void updateReadRequestsCount(long i) {<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>    readRequestsCount.add(i);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  }<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  @Override<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  public long getWriteRequestsCount() {<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    return writeRequestsCount.get();<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>  @Override<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public void updateWriteRequestsCount(long i) {<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    writeRequestsCount.add(i);<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  }<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span><a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  @Override<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  public long getMemstoreSize() {<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>    return memstoreSize.get();<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  }<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span><a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>  @Override<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  public long getNumMutationsWithoutWAL() {<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>    return numMutationsWithoutWAL.get();<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>  }<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  @Override<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public long getDataInMemoryWithoutWAL() {<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    return dataInMemoryWithoutWAL.get();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span><a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>  @Override<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  public long getBlockedRequestsCount() {<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>    return blockedRequestsCount.get();<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>  }<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span><a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  @Override<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  public long getCheckAndMutateChecksPassed() {<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    return checkAndMutateChecksPassed.get();<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>  @Override<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>  public long getCheckAndMutateChecksFailed() {<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    return checkAndMutateChecksFailed.get();<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>  }<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span><a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  @Override<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>  public MetricsRegion getMetrics() {<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    return metricsRegion;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>  }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span><a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>  @Override<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public boolean isClosed() {<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>    return this.closed.get();<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  }<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span><a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  @Override<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  public boolean isClosing() {<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>    return this.closing.get();<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  }<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>  @Override<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>  public boolean isReadOnly() {<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>    return this.writestate.isReadOnly();<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>  }<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span><a name="line.1174"></a>
-<span class="sourceLineNo">1175</span

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
index d03724e..658fe8f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
@@ -292,7951 +292,7969 @@
 <span class="sourceLineNo">284</span><a name="line.284"></a>
 <span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter writeRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  // Number of requests blocked by memstore size.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  // Compaction counters<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>  private final WAL wal;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final HRegionFileSystem fs;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  protected final Configuration conf;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  private final Configuration baseConf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final int rowLockWaitDuration;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  // The internal wait duration to acquire a lock before read/update<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // we can release the IPC handler soon enough to improve the<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // availability of the region server. It can be adjusted by<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  final long busyWaitDuration;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>  // If updating multiple rows in one call, wait longer,<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // we can limit the max multiplier.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  final int maxBusyWaitMultiplier;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  final long maxBusyWaitDuration;<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  // negative number indicates infinite timeout<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * The sequence ID that was encountered when this region was opened.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * scan requests to this region. Requests can override it.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  //<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // are equal to or lower than maxSeqId for each store.<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // The following map is populated when opening the region<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>  /** Saved state from replaying prepare flush cache */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  /**<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   */<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private boolean disallowWritesInRecovering = false;<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  private volatile boolean recovering = false;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>  /**<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * region. Writes older than this readPoint, are included in every<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * read operation.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  public long getSmallestReadPoint() {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    long minimumReadPoint;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    synchronized(scannerReadPoints) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          minimumReadPoint = readPoint;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return minimumReadPoint;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  /*<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * Data structure of write state flags used coordinating flushes,<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * compactions and closes.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  static class WriteState {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // Set while a memstore flush is happening.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    volatile boolean flushing = false;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // Set when a flush has been requested.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    volatile boolean flushRequested = false;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // Number of compactions running.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    volatile boolean writesEnabled = true;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // Set if region is read-only<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    volatile boolean readOnly = false;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    volatile boolean readsEnabled = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>    /**<a name="line.405"></a>
-<span class="sourceLineNo">406</span>     * Set flags that make this region read-only.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     *<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     * @param onOff flip value for region r/o setting<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.writesEnabled = !onOff;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.readOnly = onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>    boolean isReadOnly() {<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return this.flushRequested;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      this.readsEnabled = readsEnabled;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  /**<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * if it didn't flush.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public static class FlushResultImpl implements FlushResult {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    final Result result;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final String failureReason;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final long flushSequenceId;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final boolean wroteFlushWalMarker;<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    /**<a name="line.443"></a>
-<span class="sourceLineNo">444</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * null.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     *                        memstores.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     */<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      this(result, flushSequenceId, null, false);<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>     * Convenience constructor to use when we cannot flush.<a name="line.457"></a>
-<span class="sourceLineNo">458</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>     * @param failureReason Reason why we couldn't flush.<a name="line.459"></a>
-<span class="sourceLineNo">460</span>     */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>    /**<a name="line.466"></a>
-<span class="sourceLineNo">467</span>     * Constructor with all the parameters.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @param result Any of the Result.<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>     */<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      boolean wroteFlushMarker) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      this.result = result;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      this.flushSequenceId = flushSequenceId;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      this.failureReason = failureReason;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      this.wroteFlushWalMarker = wroteFlushMarker;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>    /**<a name="line.480"></a>
-<span class="sourceLineNo">481</span>     * Convenience method, the equivalent of checking if result is<a name="line.481"></a>
-<span class="sourceLineNo">482</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>     * @return true if the memstores were flushed, else false.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>     */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public boolean isFlushSucceeded() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.487"></a>
-<span class="sourceLineNo">488</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>    /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<a name="line.493"></a>
-<span class="sourceLineNo">494</span>     */<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    @Override<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    public boolean isCompactionNeeded() {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    }<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    @Override<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    public String toString() {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      return new StringBuilder()<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        .append("flush result:").append(result).append(", ")<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        .append("flush seq id").append(flushSequenceId).toString();<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    @Override<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    public Result getResult() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      return result;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  }<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span>  /** A result object from prepare flush cache stage */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static class PrepareFlushResult {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    final FlushResult result; // indicating a failure result from prepare<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    final TreeMap&lt;byte[], Long&gt; storeFlushableSize;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    final long startTime;<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    final long flushOpSeqId;<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    final long flushedSeqId;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    final long totalFlushableSize;<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    /** Constructs an early exit case */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    PrepareFlushResult(FlushResult result, long flushSeqId) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, 0);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>    /** Constructs a successful prepare flush result */<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    PrepareFlushResult(<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        flushSeqId, flushedSeqId, totalFlushableSize);<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    }<a name="line.539"></a>
-<span class="sourceLineNo">540</span><a name="line.540"></a>
-<span class="sourceLineNo">541</span>    private PrepareFlushResult(<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      FlushResult result,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      this.result = result;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      this.committedFiles = committedFiles;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      this.startTime = startTime;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      this.flushOpSeqId = flushSeqId;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      this.flushedSeqId = flushedSeqId;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      this.totalFlushableSize = totalFlushableSize;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    }<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    public FlushResult getResult() {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      return this.result;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  final WriteState writestate = new WriteState();<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  long memstoreFlushSize;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  final long timestampSlop;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  final long rowProcessorTimeout;<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  private final ConcurrentMap&lt;Store, Long&gt; lastStoreFlushTimeMap =<a name="line.569"></a>
-<span class="sourceLineNo">570</span>      new ConcurrentHashMap&lt;Store, Long&gt;();<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>  final RegionServerServices rsServices;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private RegionServerAccounting rsAccounting;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  private long flushCheckInterval;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.575"></a>
-<span class="sourceLineNo">576</span>  private long flushPerChanges;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  private long blockingMemStoreSize;<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  final long threadWakeFrequency;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  // Used to guard closes<a name="line.579"></a>
-<span class="sourceLineNo">580</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span>  // Stop updates lock<a name="line.582"></a>
-<span class="sourceLineNo">583</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.583"></a>
-<span class="sourceLineNo">584</span>  private boolean splitRequest;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>  private byte[] explicitSplitPoint = null;<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  // Coprocessor host<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.590"></a>
-<span class="sourceLineNo">591</span><a name="line.591"></a>
-<span class="sourceLineNo">592</span>  private HTableDescriptor htableDescriptor = null;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>  private RegionSplitPolicy splitPolicy;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  private FlushPolicy flushPolicy;<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>  private final MetricsRegion metricsRegion;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>  private final Durability durability;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  private final boolean regionStatsEnabled;<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>  /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   *<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * usually the table directory.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * The wal file is a logfile from the previous execution that's<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * the supplied path.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param fs is the filesystem.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @param confParam is global configuration settings.<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @param regionInfo - HRegionInfo that describes the region<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * is new), then read them from the supplied path.<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param htd the table descriptor<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @deprecated Use other constructors.<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  @Deprecated<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  @VisibleForTesting<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      final Configuration confParam, final HRegionInfo regionInfo,<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.627"></a>
-<span class="sourceLineNo">628</span>      wal, confParam, htd, rsServices);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>  }<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>  /**<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   *<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * @param fs is the filesystem.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * The wal file is a logfile from the previous execution that's<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.640"></a>
-<span class="sourceLineNo">641</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   * the supplied path.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * @param confParam is global configuration settings.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @param htd the table descriptor<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    if (htd == null) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      throw new IllegalArgumentException("Need table descriptor");<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    }<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span>    if (confParam instanceof CompoundConfiguration) {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      throw new IllegalArgumentException("Need original base configuration");<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>    this.wal = wal;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    this.fs = fs;<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    this.baseConf = confParam;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.conf = new CompoundConfiguration()<a name="line.662"></a>
-<span class="sourceLineNo">663</span>      .add(confParam)<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      .addStringMap(htd.getConfiguration())<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      .addBytesMap(htd.getValues());<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.670"></a>
-<span class="sourceLineNo">671</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.673"></a>
-<span class="sourceLineNo">674</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.674"></a>
-<span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span>    this.maxWaitForSeqId = conf.getInt(MAX_WAIT_FOR_SEQ_ID_KEY, DEFAULT_MAX_WAIT_FOR_SEQ_ID);<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    this.htableDescriptor = htd;<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.rsServices = rsServices;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    this.threadWakeFrequency = conf.getLong(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    setHTableSpecificConf();<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;RegionScanner, Long&gt;();<a name="line.682"></a>
-<span class="sourceLineNo">683</span><a name="line.683"></a>
-<span class="sourceLineNo">684</span>    this.busyWaitDuration = conf.getLong(<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.688"></a>
-<span class="sourceLineNo">689</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.689"></a>
-<span class="sourceLineNo">690</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    }<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>    /*<a name="line.695"></a>
-<span class="sourceLineNo">696</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.698"></a>
-<span class="sourceLineNo">699</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.699"></a>
-<span class="sourceLineNo">700</span>     */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    this.timestampSlop = conf.getLong(<a name="line.701"></a>
-<span class="sourceLineNo">702</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        HConstants.LATEST_TIMESTAMP);<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>    /**<a name="line.705"></a>
-<span class="sourceLineNo">706</span>     * Timeout for the process time in processRowsWithLocks().<a name="line.706"></a>
-<span class="sourceLineNo">707</span>     * Use -1 to switch off time bound.<a name="line.707"></a>
-<span class="sourceLineNo">708</span>     */<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    this.durability = htd.getDurability() == Durability.USE_DEFAULT<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        ? DEFAULT_DURABILITY<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        : htd.getDurability();<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    if (rsServices != null) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>      Map&lt;String, Region&gt; recoveringRegions = rsServices.getRecoveringRegions();<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      String encodedName = getRegionInfo().getEncodedName();<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      if (recoveringRegions != null &amp;&amp; recoveringRegions.containsKey(encodedName)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        this.recovering = true;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        recoveringRegions.put(encodedName, this);<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      }<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    } else {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.metricsRegionWrapper = null;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      this.metricsRegion = null;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    if (LOG.isDebugEnabled()) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      // Write out region name as string and its encoded name.<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      LOG.debug("Instantiated " + this);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>    }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>    // by default, we allow writes against a region when it's in recovering<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    this.disallowWritesInRecovering =<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        conf.getBoolean(HConstants.DISALLOW_WRITES_IN_RECOVERING,<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          HConstants.DEFAULT_DISALLOW_WRITES_IN_RECOVERING_CONFIG);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    configurationManager = Optional.absent();<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.744"></a>
-<span class="sourceLineNo">745</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          false :<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.747"></a>
-<span class="sourceLineNo">748</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  }<a name="line.749"></a>
-<span class="sourceLineNo">750</span><a name="line.750"></a>
-<span class="sourceLineNo">751</span>  void setHTableSpecificConf() {<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    if (this.htableDescriptor == null) return;<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.753"></a>
-<span class="sourceLineNo">754</span><a name="line.754"></a>
-<span class="sourceLineNo">755</span>    if (flushSize &lt;= 0) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        HTableDescriptor.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    this.memstoreFlushSize = flushSize;<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.760"></a>
-<span class="sourceLineNo">761</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  }<a name="line.763"></a>
-<span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>  /**<a name="line.765"></a>
-<span class="sourceLineNo">766</span>   * Initialize this region.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * You should use createHRegion() or openHRegion()<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * @return What the next sequence (edit) id should be.<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * @throws IOException e<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   */<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  @Deprecated<a name="line.773"></a>
-<span class="sourceLineNo">774</span>  public long initialize() throws IOException {<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    return initialize(null);<a name="line.775"></a>
-<span class="sourceLineNo">776</span>  }<a name="line.776"></a>
-<span class="sourceLineNo">777</span><a name="line.777"></a>
-<span class="sourceLineNo">778</span>  /**<a name="line.778"></a>
-<span class="sourceLineNo">779</span>   * Initialize this region.<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   *<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * @return What the next sequence (edit) id should be.<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * @throws IOException e<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   */<a name="line.784"></a>
-<span class="sourceLineNo">785</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    long nextSeqId = -1;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    try {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.789"></a>
-<span class="sourceLineNo">790</span>      return nextSeqId;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    } finally {<a name="line.791"></a>
-<span class="sourceLineNo">792</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      // At least it will be 0 otherwise.<a name="line.793"></a>
-<span class="sourceLineNo">794</span>      if (nextSeqId == -1) {<a name="line.794"></a>
-<span class="sourceLineNo">795</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.795"></a>
-<span class="sourceLineNo">796</span>          " initialization.");<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      }<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span>  }<a name="line.799"></a>
-<span class="sourceLineNo">800</span><a name="line.800"></a>
-<span class="sourceLineNo">801</span>  private long initializeRegionInternals(final CancelableProgressable reporter,<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      final MonitoredTask status) throws IOException {<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    if (coprocessorHost != null) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      status.setStatus("Running coprocessor pre-open hook");<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      coprocessorHost.preOpen();<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    // Write HRI to a file in case we need to recover hbase:meta<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    status.setStatus("Writing region info on filesystem");<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    fs.checkRegionInfoOnFilesystem();<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    // Initialize all the HStores<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    status.setStatus("Initializing all the Stores");<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    long maxSeqId = initializeStores(reporter, status);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    this.mvcc.advanceTo(maxSeqId);<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    if (ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      // Recover any edits if available.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      maxSeqId = Math.max(maxSeqId,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>        replayRecoveredEditsIfAny(this.fs.getRegionDir(), maxSeqIdInStores, reporter, status));<a name="line.819"></a>
-<span class="sourceLineNo">820</span>      // Make sure mvcc is up to max.<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.mvcc.advanceTo(maxSeqId);<a name="line.821"></a>
-<span class="sourceLineNo">822</span>    }<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    this.lastReplayedOpenRegionSeqId = maxSeqId;<a name="line.823"></a>
-<span class="sourceLineNo">824</span><a name="line.824"></a>
-<span class="sourceLineNo">825</span>    this.writestate.setReadOnly(ServerRegionReplicaUtil.isReadOnly(this));<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    this.writestate.flushRequested = false;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    this.writestate.compacting.set(0);<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span>    if (this.writestate.writesEnabled) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      // Remove temporary data left over from old regions<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      status.setStatus("Cleaning up temporary data from old regions");<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      fs.cleanupTempDir();<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
-<span class="sourceLineNo">834</span><a name="line.834"></a>
-<span class="sourceLineNo">835</span>    if (this.writestate.writesEnabled) {<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      status.setStatus("Cleaning up detritus from prior splits");<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      // Get rid of any splits or merges that were lost in-progress.  Clean out<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      // these directories here on open.  We may be opening a region that was<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      // being split but we crashed in the middle of it all.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>      fs.cleanupAnySplitDetritus();<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      fs.cleanupMergesDir();<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Initialize split policy<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    this.splitPolicy = RegionSplitPolicy.create(this, conf);<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span>    // Initialize flush policy<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    this.flushPolicy = FlushPolicyFactory.create(this, conf);<a name="line.848"></a>
-<span class="sourceLineNo">849</span><a name="line.849"></a>
-<span class="sourceLineNo">850</span>    long lastFlushTime = EnvironmentEdgeManager.currentTime();<a name="line.850"></a>
-<span class="sourceLineNo">851</span>    for (Store store: stores.values()) {<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      this.lastStoreFlushTimeMap.put(store, lastFlushTime);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>    // Use maximum of log sequenceid or that which was found in stores<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    // (particularly if no recovered edits, seqid will be -1).<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    long nextSeqid = maxSeqId;<a name="line.857"></a>
-<span class="sourceLineNo">858</span><a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // In distributedLogReplay mode, we don't know the last change sequence number because region<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // is opened before recovery completes. So we add a safety bumper to avoid new sequence number<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    // overlaps used sequence numbers<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (this.writestate.writesEnabled) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      nextSeqid = WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs<a name="line.863"></a>
-<span class="sourceLineNo">864</span>          .getRegionDir(), nextSeqid, (this.recovering ? (this.flushPerChanges + 10000000) : 1));<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    } else {<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      nextSeqid++;<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>    LOG.info("Onlined " + this.getRegionInfo().getShortNameToLog() +<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      "; next sequenceid=" + nextSeqid);<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    // A region can be reopened if failed a split; reset flags<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    this.closing.set(false);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    this.closed.set(false);<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    if (coprocessorHost != null) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      status.setStatus("Running coprocessor post-open hooks");<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      coprocessorHost.postOpen();<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span>    status.markComplete("Region opened successfully");<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    return nextSeqid;<a name="line.882"></a>
-<span class="sourceLineNo">883</span>  }<a name="line.883"></a>
-<span class="sourceLineNo">884</span><a name="line.884"></a>
-<span class="sourceLineNo">885</span>  /**<a name="line.885"></a>
-<span class="sourceLineNo">886</span>   * Open all Stores.<a name="line.886"></a>
-<span class="sourceLineNo">887</span>   * @param reporter<a name="line.887"></a>
-<span class="sourceLineNo">888</span>   * @param status<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * @return Highest sequenceId found out in a Store.<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * @throws IOException<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   */<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  private long initializeStores(final CancelableProgressable reporter, MonitoredTask status)<a name="line.892"></a>
-<span class="sourceLineNo">893</span>  throws IOException {<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    // Load in all the HStores.<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    long maxSeqId = -1;<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    // initialized to -1 so that we pick up MemstoreTS from column families<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    long maxMemstoreTS = -1;<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    if (!htableDescriptor.getFamilies().isEmpty()) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      // initialize the thread pool for opening stores in parallel.<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      ThreadPoolExecutor storeOpenerThreadPool =<a name="line.902"></a>
-<span class="sourceLineNo">903</span>        getStoreOpenAndCloseThreadPool("StoreOpener-" + this.getRegionInfo().getShortNameToLog());<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      CompletionService&lt;HStore&gt; completionService =<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        new ExecutorCompletionService&lt;HStore&gt;(storeOpenerThreadPool);<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span>      // initialize each store in parallel<a name="line.907"></a>
-<span class="sourceLineNo">908</span>      for (final HColumnDescriptor family : htableDescriptor.getFamilies()) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        status.setStatus("Instantiating store for column family " + family);<a name="line.909"></a>
-<span class="sourceLineNo">910</span>        completionService.submit(new Callable&lt;HStore&gt;() {<a name="line.910"></a>
-<span class="sourceLineNo">911</span>          @Override<a name="line.911"></a>
-<span class="sourceLineNo">912</span>          public HStore call() throws IOException {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>            return instantiateHStore(family);<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>      boolean allStoresOpened = false;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>      try {<a name="line.918"></a>
-<span class="sourceLineNo">919</span>        for (int i = 0; i &lt; htableDescriptor.getFamilies().size(); i++) {<a name="line.919"></a>
-<span class="sourceLineNo">920</span>          Future&lt;HStore&gt; future = completionService.take();<a name="line.920"></a>
-<span class="sourceLineNo">921</span>          HStore store = future.get();<a name="line.921"></a>
-<span class="sourceLineNo">922</span>          this.stores.put(store.getFamily().getName(), store);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>          long storeMaxSequenceId = store.getMaxSequenceId();<a name="line.924"></a>
-<span class="sourceLineNo">925</span>          maxSeqIdInStores.put(store.getColumnFamilyName().getBytes(),<a name="line.925"></a>
-<span class="sourceLineNo">926</span>              storeMaxSequenceId);<a name="line.926"></a>
-<span class="sourceLineNo">927</span>          if (maxSeqId == -1 || storeMaxSequenceId &gt; maxSeqId) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>            maxSeqId = storeMaxSequenceId;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>          }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>          long maxStoreMemstoreTS = store.getMaxMemstoreTS();<a name="line.930"></a>
-<span class="sourceLineNo">931</span>          if (maxStoreMemstoreTS &gt; maxMemstoreTS) {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>            maxMemstoreTS = maxStoreMemstoreTS;<a name="line.932"></a>
-<span class="sourceLineNo">933</span>          }<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        }<a name="line.934"></a>
-<span class="sourceLineNo">935</span>        allStoresOpened = true;<a name="line.935"></a>
-<span class="sourceLineNo">936</span>      } catch (InterruptedException e) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>        throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>      } catch (ExecutionException e) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span>        throw new IOException(e.getCause());<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      } finally {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        storeOpenerThreadPool.shutdownNow();<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        if (!allStoresOpened) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>          // something went wrong, close all opened stores<a name="line.943"></a>
-<span class="sourceLineNo">944</span>          LOG.error("Could not initialize all stores for the region=" + this);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>          for (Store store : this.stores.values()) {<a name="line.945"></a>
-<span class="sourceLineNo">946</span>            try {<a name="line.946"></a>
-<span class="sourceLineNo">947</span>              store.close();<a name="line.947"></a>
-<span class="sourceLineNo">948</span>            } catch (IOException e) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>              LOG.warn(e.getMessage());<a name="line.949"></a>
-<span class="sourceLineNo">950</span>            }<a name="line.950"></a>
-<span class="sourceLineNo">951</span>          }<a name="line.951"></a>
-<span class="sourceLineNo">952</span>        }<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      }<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    return Math.max(maxSeqId, maxMemstoreTS + 1);<a name="line.955"></a>
-<span class="sourceLineNo">956</span>  }<a name="line.956"></a>
-<span class="sourceLineNo">957</span><a name="line.957"></a>
-<span class="sourceLineNo">958</span>  private void initializeWarmup(final CancelableProgressable reporter) throws IOException {<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.959"></a>
-<span class="sourceLineNo">960</span><a name="line.960"></a>
-<span class="sourceLineNo">961</span>    // Initialize all the HStores<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    status.setStatus("Warming up all the Stores");<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    initializeStores(reporter, status);<a name="line.963"></a>
-<span class="sourceLineNo">964</span>  }<a name="line.964"></a>
-<span class="sourceLineNo">965</span><a name="line.965"></a>
-<span class="sourceLineNo">966</span>  /**<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   * @return Map of StoreFiles by column family<a name="line.967"></a>
-<span class="sourceLineNo">968</span>   */<a name="line.968"></a>
-<span class="sourceLineNo">969</span>  private NavigableMap&lt;byte[], List&lt;Path&gt;&gt; getStoreFiles() {<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    NavigableMap&lt;byte[], List&lt;Path&gt;&gt; allStoreFiles =<a name="line.970"></a>
-<span class="sourceLineNo">971</span>      new TreeMap&lt;byte[], List&lt;Path&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    for (Store store: getStores()) {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.973"></a>
-<span class="sourceLineNo">974</span>      if (storeFiles == null) continue;<a name="line.974"></a>
-<span class="sourceLineNo">975</span>      List&lt;Path&gt; storeFileNames = new ArrayList&lt;Path&gt;();<a name="line.975"></a>
-<span class="sourceLineNo">976</span>      for (StoreFile storeFile: storeFiles) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>        storeFileNames.add(storeFile.getPath());<a name="line.977"></a>
-<span class="sourceLineNo">978</span>      }<a name="line.978"></a>
-<span class="sourceLineNo">979</span>      allStoreFiles.put(store.getFamily().getName(), storeFileNames);<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    }<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    return allStoreFiles;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>  }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>  private void writeRegionOpenMarker(WAL wal, long openSeqId) throws IOException {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    RegionEventDescriptor regionOpenDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      RegionEventDescriptor.EventType.REGION_OPEN, getRegionInfo(), openSeqId,<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.988"></a>
-<span class="sourceLineNo">989</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionOpenDesc, mvcc);<a name="line.989"></a>
-<span class="sourceLineNo">990</span>  }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>  private void writeRegionCloseMarker(WAL wal) throws IOException {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    RegionEventDescriptor regionEventDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.994"></a>
-<span class="sourceLineNo">995</span>      RegionEventDescriptor.EventType.REGION_CLOSE, getRegionInfo(), mvcc.getReadPoint(),<a name="line.995"></a>
-<span class="sourceLineNo">996</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionEventDesc, mvcc);<a name="line.997"></a>
-<span class="sourceLineNo">998</span><a name="line.998"></a>
-<span class="sourceLineNo">999</span>    // Store SeqId in HDFS when a region closes<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    // checking region folder exists is due to many tests which delete the table folder while a<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    // table is still online<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    if (this.fs.getFileSystem().exists(this.fs.getRegionDir())) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>      WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs.getRegionDir(),<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>        mvcc.getReadPoint(), 0);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>    }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>  }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>  /**<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>   * @return True if this region has references.<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>   */<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>  public boolean hasReferences() {<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    for (Store store : this.stores.values()) {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      if (store.hasReferences()) return true;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>    return false;<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>  }<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span><a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  @Override<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  public HDFSBlocksDistribution getHDFSBlocksDistribution() {<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      new HDFSBlocksDistribution();<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    synchronized (this.stores) {<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>      for (Store store : this.stores.values()) {<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>        Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>        if (storeFiles == null) continue;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>        for (StoreFile sf : storeFiles) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>          HDFSBlocksDistribution storeFileBlocksDistribution =<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>            sf.getHDFSBlockDistribution();<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>          hdfsBlocksDistribution.add(storeFileBlocksDistribution);<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>    }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>    return hdfsBlocksDistribution;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>  /**<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>   * @param conf configuration<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>   * @param regionInfo encoded name of the region<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   * @throws IOException<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   */<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo) throws IOException {<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    Path tablePath = FSUtils.getTableDir(FSUtils.getRootDir(conf), tableDescriptor.getTableName());<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>    return computeHDFSBlocksDistribution(conf, tableDescriptor, regionInfo, tablePath);<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  }<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span><a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  /**<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>   * @param conf configuration<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * @param regionInfo encoded name of the region<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * @param tablePath the table directory<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>   * @throws IOException<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>   */<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo,  Path tablePath)<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>      throws IOException {<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    HDFSBlocksDistribution hdfsBlocksDistribution = new HDFSBlocksDistribution();<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>    FileSystem fs = tablePath.getFileSystem(conf);<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span><a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    HRegionFileSystem regionFs = new HRegionFileSystem(conf, fs, tablePath, regionInfo);<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    for (HColumnDescriptor family: tableDescriptor.getFamilies()) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      Collection&lt;StoreFileInfo&gt; storeFiles = regionFs.getStoreFiles(family.getNameAsString());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>      if (storeFiles == null) continue;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>      for (StoreFileInfo storeFileInfo : storeFiles) {<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>        try {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>          hdfsBlocksDistribution.add(storeFileInfo.computeHDFSBlocksDistribution(fs));<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        } catch (IOException ioe) {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>          LOG.warn("Error getting hdfs block distribution for " + storeFileInfo);<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>        }<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    return hdfsBlocksDistribution;<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>  /**<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>   * Increase the size of mem store in this region and the size of global mem<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>   * store<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>   * @return the size of memstore in this region<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   */<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>  public long addAndGetGlobalMemstoreSize(long memStoreSize) {<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    if (this.rsAccounting != null) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>      rsAccounting.addAndGetGlobalMemstoreSize(memStoreSize);<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>    }<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    return this.memstoreSize.addAndGet(memStoreSize);<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  }<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span><a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>  @Override<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>  public HRegionInfo getRegionInfo() {<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>    return this.fs.getRegionInfo();<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  }<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>   * @return Instance of {@link RegionServerServices} used by this HRegion.<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * Can be null.<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   */<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>  RegionServerServices getRegionServerServices() {<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    return this.rsServices;<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  }<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span><a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  @Override<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>  public long getReadRequestsCount() {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    return readRequestsCount.get();<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>  }<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span><a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>  @Override<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  public void updateReadRequestsCount(long i) {<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>    readRequestsCount.add(i);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  }<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  @Override<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  public long getWriteRequestsCount() {<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    return writeRequestsCount.get();<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>  @Override<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public void updateWriteRequestsCount(long i) {<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    writeRequestsCount.add(i);<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  }<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span><a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  @Override<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  public long getMemstoreSize() {<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>    return memstoreSize.get();<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  }<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span><a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>  @Override<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  public long getNumMutationsWithoutWAL() {<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>    return numMutationsWithoutWAL.get();<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>  }<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  @Override<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public long getDataInMemoryWithoutWAL() {<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    return dataInMemoryWithoutWAL.get();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span><a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>  @Override<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  public long getBlockedRequestsCount() {<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>    return blockedRequestsCount.get();<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>  }<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span><a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  @Override<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  public long getCheckAndMutateChecksPassed() {<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    return checkAndMutateChecksPassed.get();<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>  @Override<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>  public long getCheckAndMutateChecksFailed() {<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    return checkAndMutateChecksFailed.get();<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>  }<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span><a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  @Override<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>  public MetricsRegion getMetrics() {<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    return metricsRegion;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>  }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span><a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>  @Override<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public boolean isClosed() {<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>    return this.closed.get();<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  }<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span><a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  @Override<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  public boolean isClosing() {<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>    return this.closing.get();<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  }<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>  @Override<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>  public boolean isReadOnly() {<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>    return this.writestate.isReadOnly();<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>  }<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span><a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>  /**<a name="line.1175"></a>
-<span class="sourc

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
index d66598c..5d5a72d 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
@@ -107,7 +107,7 @@
 </dl>
 <hr>
 <br>
-<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5526">HRegion.RegionScannerImpl</a>
+<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5539">HRegion.RegionScannerImpl</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></pre>
 <div class="block">RegionScannerImpl is used to combine scanners from multiple Stores (aka column families).</div>
@@ -411,7 +411,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>storeHeap</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5528">storeHeap</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5541">storeHeap</a></pre>
 </li>
 </ul>
 <a name="joinedHeap">
@@ -420,7 +420,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>joinedHeap</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5531">joinedHeap</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5544">joinedHeap</a></pre>
 <div class="block">Heap of key-values that are not essential for the provided filters and are thus read
  on demand, if on-demand column family loading is enabled.</div>
 </li>
@@ -431,7 +431,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>joinedContinuationRow</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5535">joinedContinuationRow</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5548">joinedContinuationRow</a></pre>
 <div class="block">If the joined heap data gathering is interrupted due to scan limits, this will
  contain the row for which we are populating the values.</div>
 </li>
@@ -442,7 +442,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>filterClosed</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5536">filterClosed</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5549">filterClosed</a></pre>
 </li>
 </ul>
 <a name="isScan">
@@ -451,7 +451,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>isScan</h4>
-<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5538">isScan</a></pre>
+<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5551">isScan</a></pre>
 </li>
 </ul>
 <a name="stopRow">
@@ -460,7 +460,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>stopRow</h4>
-<pre>protected final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5539">stopRow</a></pre>
+<pre>protected final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5552">stopRow</a></pre>
 </li>
 </ul>
 <a name="region">
@@ -469,7 +469,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>region</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5540">region</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5553">region</a></pre>
 </li>
 </ul>
 <a name="comparator">
@@ -478,7 +478,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>comparator</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5541">comparator</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5554">comparator</a></pre>
 </li>
 </ul>
 <a name="copyCellsFromSharedMem">
@@ -487,7 +487,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>copyCellsFromSharedMem</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5542">copyCellsFromSharedMem</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5555">copyCellsFromSharedMem</a></pre>
 </li>
 </ul>
 <a name="readPt">
@@ -496,7 +496,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>readPt</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5544">readPt</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5557">readPt</a></pre>
 </li>
 </ul>
 <a name="maxResultSize">
@@ -505,7 +505,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>maxResultSize</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5545">maxResultSize</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5558">maxResultSize</a></pre>
 </li>
 </ul>
 <a name="defaultScannerContext">
@@ -514,7 +514,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>defaultScannerContext</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5546">defaultScannerContext</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5559">defaultScannerContext</a></pre>
 </li>
 </ul>
 <a name="filter">
@@ -523,7 +523,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockListLast">
 <li class="blockList">
 <h4>filter</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.html" title="class in org.apache.hadoop.hbase.filter">FilterWrapper</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5547">filter</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.html" title="class in org.apache.hadoop.hbase.filter">FilterWrapper</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5560">filter</a></pre>
 </li>
 </ul>
 </li>
@@ -540,7 +540,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.RegionScannerImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5558">HRegion.RegionScannerImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5571">HRegion.RegionScannerImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                          <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners,
                          <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
                          boolean&nbsp;copyCellsFromSharedMem)
@@ -563,7 +563,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionInfo</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5550">getRegionInfo</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5563">getRegionInfo</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getRegionInfo()">getRegionInfo</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -576,7 +576,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>setCopyCellsFromSharedMem</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5554">setCopyCellsFromSharedMem</a>(boolean&nbsp;copyCells)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5567">setCopyCellsFromSharedMem</a>(boolean&nbsp;copyCells)</pre>
 </li>
 </ul>
 <a name="initializeKVHeap(java.util.List, java.util.List, org.apache.hadoop.hbase.regionserver.HRegion)">
@@ -585,7 +585,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeKVHeap</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5622">initializeKVHeap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5635">initializeKVHeap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;joinedScanners,
                     <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region)
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -599,7 +599,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxResultSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5632">getMaxResultSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5645">getMaxResultSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getMaxResultSize()">getMaxResultSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -613,7 +613,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getMvccReadPoint</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5637">getMvccReadPoint</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5650">getMvccReadPoint</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getMvccReadPoint()">getMvccReadPoint</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -626,7 +626,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getBatch</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5642">getBatch</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5655">getBatch</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getBatch()">getBatch</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -640,7 +640,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>resetFilters</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5651">resetFilters</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5664">resetFilters</a>()
                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Reset both the filter and the old filter.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -653,7 +653,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>next</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5658">next</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5671">next</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults)
              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next(java.util.List)">InternalScanner</a></code></strong></div>
 <div class="block">Grab the next row's worth of values.</div>
@@ -672,7 +672,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>next</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5665">next</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5678">next</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults,
            <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)
              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next(java.util.List,%20org.apache.hadoop.hbase.regionserver.ScannerContext)">InternalScanner</a></code></strong></div>
@@ -692,7 +692,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>nextRaw</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5682">nextRaw</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5695">nextRaw</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults)
                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#nextRaw(java.util.List)">RegionScanner</a></code></strong></div>
 <div class="block">Grab the next row's worth of values. This is a special internal method to be called from
@@ -714,7 +714,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>nextRaw</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5688">nextRaw</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5701">nextRaw</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults,
               <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)
                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#nextRaw(java.util.List,%20org.apache.hadoop.hbase.regionserver.ScannerContext)">RegionScanner</a></code></strong></div>
@@ -756,7 +756,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>populateFromJoinedHeap</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5743">populateFromJoinedHeap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5756">populateFromJoinedHeap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
                              <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)
                                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if more cells exist after this batch, false if scanner is done</dd>
@@ -770,7 +770,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>populateResult</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5767">populateResult</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5780">populateResult</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a>&nbsp;heap,
                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext,
                      <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)
@@ -789,7 +789,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>moreCellsInRow</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5812">moreCellsInRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;nextKv,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5825">moreCellsInRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;nextKv,
                      <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)</pre>
 <div class="block">Based on the nextKv in the heap, and the current row, decide whether or not there are more
  cells to be read in the heap. If the row of the nextKv in the heap matches the current row
@@ -804,7 +804,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>isFilterDone</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5820">isFilterDone</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5833">isFilterDone</a>()
                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -820,7 +820,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>isFilterDoneInternal</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5824">isFilterDoneInternal</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5837">isFilterDoneInternal</a>()
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -832,7 +832,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>nextInternal</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5828">nextInternal</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5841">nextInternal</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
                    <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -845,7 +845,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementCountOfRowsFilteredMetric</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6027">incrementCountOfRowsFilteredMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6040">incrementCountOfRowsFilteredMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)</pre>
 </li>
 </ul>
 <a name="incrementCountOfRowsScannedMetric(org.apache.hadoop.hbase.regionserver.ScannerContext)">
@@ -854,7 +854,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementCountOfRowsScannedMetric</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6033">incrementCountOfRowsScannedMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6048">incrementCountOfRowsScannedMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)</pre>
 </li>
 </ul>
 <a name="joinedHeapMayHaveData(org.apache.hadoop.hbase.Cell)">
@@ -863,7 +863,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>joinedHeapMayHaveData</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6044">joinedHeapMayHaveData</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6059">joinedHeapMayHaveData</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)
                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>currentRowCell</code> - </dd>
 <dt><span class="strong">Returns:</span></dt><dd>true when the joined heap may have data for the current row</dd>
@@ -877,7 +877,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6071">filterRow</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6086">filterRow</a>()
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This function is to maintain backward compatibility for 0.94 filters. HBASE-6429 combines
  both filterRow & filterRow(<code>List&lt;KeyValue&gt; kvs</code>) functions. While 0.94 code or older,
@@ -894,7 +894,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6078">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;current)
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6093">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;current)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -906,7 +906,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>nextRow</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6082">nextRow</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6097">nextRow</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext,
               <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;curRowCell)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -919,7 +919,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>isStopRow</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6097">isStopRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6112">isStopRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)</pre>
 </li>
 </ul>
 <a name="close()">
@@ -928,7 +928,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6103">close</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6118">close</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#close()">InternalScanner</a></code></strong></div>
 <div class="block">Closes the scanner and releases any resources it has allocated</div>
 <dl>
@@ -947,7 +947,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreHeapForTesting</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6117">getStoreHeapForTesting</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6132">getStoreHeapForTesting</a>()</pre>
 </li>
 </ul>
 <a name="reseek(byte[])">
@@ -956,7 +956,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>reseek</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6122">reseek</a>(byte[]&nbsp;row)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6137">reseek</a>(byte[]&nbsp;row)
                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#reseek(byte[])">RegionScanner</a></code></strong></div>
 <div class="block">Do a reseek to the required row. Should not be used to seek to a key which
@@ -975,7 +975,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>handleFileNotFound</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6143">handleFileNotFound</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/FileNotFoundException.html?is-external=true" title="class or interface in java.io">FileNotFoundException</a>&nbsp;fnfe)
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6158">handleFileNotFound</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/FileNotFoundException.html?is-external=true" title="class or interface in java.io">FileNotFoundException</a>&nbsp;fnfe)
                                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -987,7 +987,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>abortRegionServer</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6158">abortRegionServer</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6173">abortRegionServer</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -999,7 +999,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>shipped</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6166">shipped</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6181">shipped</a>()
              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html#shipped()">Shipper</a></code></strong></div>
 <div class="block">Called after a batch of rows scanned and set to be returned to client. Any in between cleanup
@@ -1017,7 +1017,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6176">run</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6191">run</a>()
          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html#run()">RpcCallback</a></code></strong></div>
 <div class="block">Called at the end of an Rpc Call <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><code>RpcCallContext</code></a></div>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
index 5f43f48..2e17737 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5258">HRegion.RowLockContext</a>
+<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5271">HRegion.RowLockContext</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -219,7 +219,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>row</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5259">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.5272">row</a></pre>
 </li>
 </ul>
 <a name="readWriteLock">
@@ -228,7 +228,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>readWriteLock</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5260">readWriteLock</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5273">readWriteLock</a></pre>
 </li>
 </ul>
 <a name="usable">
@@ -237,7 +237,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>usable</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5261">usable</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5274">usable</a></pre>
 </li>
 </ul>
 <a name="count">
@@ -246,7 +246,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>count</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5262">count</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5275">count</a></pre>
 </li>
 </ul>
 <a name="lock">
@@ -255,7 +255,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lock</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5263">lock</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5276">lock</a></pre>
 </li>
 </ul>
 </li>
@@ -272,7 +272,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.RowLockContext</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5265">HRegion.RowLockContext</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a>&nbsp;row)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5278">HRegion.RowLockContext</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a>&nbsp;row)</pre>
 </li>
 </ul>
 </li>
@@ -289,7 +289,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>newWriteLock</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5269">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.5282">newWriteLock</a>()</pre>
 </li>
 </ul>
 <a name="newReadLock()">
@@ -298,7 +298,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>newReadLock</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5273">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.5286">newReadLock</a>()</pre>
 </li>
 </ul>
 <a name="getRowLock(java.util.concurrent.locks.Lock)">
@@ -307,7 +307,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowLock</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5278">getRowLock</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;l)</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5291">getRowLock</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;l)</pre>
 </li>
 </ul>
 <a name="cleanUp()">
@@ -316,7 +316,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanUp</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5289">cleanUp</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5302">cleanUp</a>()</pre>
 </li>
 </ul>
 <a name="toString()">
@@ -325,7 +325,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5303">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5316">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
index 177d663..e65c24d 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5315">HRegion.RowLockImpl</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5328">HRegion.RowLockImpl</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></pre>
 <div class="block">Class used to represent a lock on a row.</div>
@@ -212,7 +212,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockList">
 <li class="blockList">
 <h4>context</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5316">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.5329">context</a></pre>
 </li>
 </ul>
 <a name="lock">
@@ -221,7 +221,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lock</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5317">lock</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5330">lock</a></pre>
 </li>
 </ul>
 </li>
@@ -238,7 +238,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.RowLockImpl</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5319">HRegion.RowLockImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&nbsp;context,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5332">HRegion.RowLockImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&nbsp;context,
                    <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;lock)</pre>
 </li>
 </ul>
@@ -256,7 +256,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockList">
 <li class="blockList">
 <h4>getLock</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5324">getLock</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5337">getLock</a>()</pre>
 </li>
 </ul>
 <a name="getContext()">
@@ -265,7 +265,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockList">
 <li class="blockList">
 <h4>getContext</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5329">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.5342">getContext</a>()</pre>
 </li>
 </ul>
 <a name="release()">
@@ -274,7 +274,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockList">
 <li class="blockList">
 <h4>release</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5334">release</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5347">release</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html#release()">Region.RowLock</a></code></strong></div>
 <div class="block">Release the given lock.  If there are no remaining locks held by the current thread
  then unlock the row and allow other threads to acquire the lock.</div>
@@ -290,7 +290,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5340">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5353">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
index 39951ac..22ccc99 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.390">HRegion.WriteState</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.391">HRegion.WriteState</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -225,7 +225,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>flushing</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.392">flushing</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.393">flushing</a></pre>
 </li>
 </ul>
 <a name="flushRequested">
@@ -234,7 +234,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>flushRequested</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.394">flushRequested</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.395">flushRequested</a></pre>
 </li>
 </ul>
 <a name="compacting">
@@ -243,7 +243,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compacting</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.396">compacting</a></pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.397">compacting</a></pre>
 </li>
 </ul>
 <a name="writesEnabled">
@@ -252,7 +252,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>writesEnabled</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.398">writesEnabled</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.399">writesEnabled</a></pre>
 </li>
 </ul>
 <a name="readOnly">
@@ -261,7 +261,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>readOnly</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.400">readOnly</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.401">readOnly</a></pre>
 </li>
 </ul>
 <a name="readsEnabled">
@@ -270,7 +270,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>readsEnabled</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.403">readsEnabled</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.404">readsEnabled</a></pre>
 </li>
 </ul>
 <a name="HEAP_SIZE">
@@ -279,7 +279,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HEAP_SIZE</h4>
-<pre>static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.427">HEAP_SIZE</a></pre>
+<pre>static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.428">HEAP_SIZE</a></pre>
 </li>
 </ul>
 </li>
@@ -296,7 +296,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.WriteState</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.390">HRegion.WriteState</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.391">HRegion.WriteState</a>()</pre>
 </li>
 </ul>
 </li>
@@ -313,7 +313,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setReadOnly</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.410">setReadOnly</a>(boolean&nbsp;onOff)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.411">setReadOnly</a>(boolean&nbsp;onOff)</pre>
 <div class="block">Set flags that make this region read-only.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>onOff</code> - flip value for region r/o setting</dd></dl>
 </li>
@@ -324,7 +324,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isReadOnly</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.415">isReadOnly</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.416">isReadOnly</a>()</pre>
 </li>
 </ul>
 <a name="isFlushRequested()">
@@ -333,7 +333,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isFlushRequested</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.419">isFlushRequested</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.420">isFlushRequested</a>()</pre>
 </li>
 </ul>
 <a name="setReadsEnabled(boolean)">
@@ -342,7 +342,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setReadsEnabled</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.423">setReadsEnabled</a>(boolean&nbsp;readsEnabled)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.424">setReadsEnabled</a>(boolean&nbsp;readsEnabled)</pre>
 </li>
 </ul>
 </li>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
index d597ef4..16dcdd6 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
@@ -2186,7 +2186,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>UNSPECIFIED_REGION</h4>
-<pre>private static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1872">UNSPECIFIED_REGION</a></pre>
+<pre>private static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1873">UNSPECIFIED_REGION</a></pre>
 </li>
 </ul>
 <a name="movedRegions">
@@ -2195,7 +2195,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>movedRegions</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3083">movedRegions</a></pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3084">movedRegions</a></pre>
 </li>
 </ul>
 <a name="TIMEOUT_REGION_MOVED">
@@ -2204,7 +2204,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TIMEOUT_REGION_MOVED</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3088">TIMEOUT_REGION_MOVED</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3089">TIMEOUT_REGION_MOVED</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.TIMEOUT_REGION_MOVED">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -2711,7 +2711,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>createRegionLoad</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1535">createRegionLoad</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionLoad&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1536">createRegionLoad</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)
                                                                                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>encodedRegionName</code> - </dd>
 <dt><span class="strong">Returns:</span></dt><dd>An instance of RegionLoad.</dd>
@@ -2725,7 +2725,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>isOnline</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1636">isOnline</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1637">isOnline</a>()</pre>
 <div class="block">Report the status of the server. A server is online once all the startup is
  completed (setting up filesystem, starting service threads, etc.). This
  method is designed mostly to be useful in tests.</div>
@@ -2738,7 +2738,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>setupWALAndReplication</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1646">setupWALAndReplication</a>()
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1647">setupWALAndReplication</a>()
                                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Setup WAL log and replication if enabled.
  Replication setup is done in here because it wants to be hooked up to WAL.</div>
@@ -2753,7 +2753,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>ensureMetaWALRoller</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/LogRoller.html" title="class in org.apache.hadoop.hbase.regionserver">LogRoller</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1682">ensureMetaWALRoller</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/LogRoller.html" title="class in org.apache.hadoop.hbase.regionserver">LogRoller</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1683">ensureMetaWALRoller</a>()</pre>
 <div class="block">We initialize the roller for the wal that handles meta lazily
  since we don't know if this regionserver will handle it. All calls to
  this method return a reference to the that same roller. As newly referenced
@@ -2768,7 +2768,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1702">getRegionServerMetrics</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1703">getRegionServerMetrics</a>()</pre>
 </li>
 </ul>
 <a name="getMasterAddressTracker()">
@@ -2777,7 +2777,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterAddressTracker</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">MasterAddressTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1709">getMasterAddressTracker</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">MasterAddressTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1710">getMasterAddressTracker</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Master address tracker instance.</dd></dl>
 </li>
 </ul>
@@ -2787,7 +2787,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>startServiceThreads</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1725">startServiceThreads</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1726">startServiceThreads</a>()
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -2799,7 +2799,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>putUpWebUI</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1797">putUpWebUI</a>()
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1798">putUpWebUI</a>()
                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Puts up the webui.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Returns final port -- maybe different from what we started with.</dd>
@@ -2813,7 +2813,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>isHealthy</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1851">isHealthy</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1852">isHealthy</a>()</pre>
 </li>
 </ul>
 <a name="getWAL(org.apache.hadoop.hbase.HRegionInfo)">
@@ -2822,7 +2822,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <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/HRegionServer.html#line.1875">getWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo)
+<pre>public&nbsp;<a href="../../../../../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/HRegionServer.html#line.1876">getWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;regionInfo)
            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -2839,7 +2839,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getConnection</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1894">getConnection</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1895">getConnection</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getConnection()">Server</a></code></strong></div>
 <div class="block">Returns a reference to the servers' connection.
 
@@ -2857,7 +2857,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterConnection</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1899">getClusterConnection</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1900">getClusterConnection</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getClusterConnection()">Server</a></code></strong></div>
 <div class="block">Returns a reference to the servers' cluster connection. Prefer <a href="../../../../../org/apache/hadoop/hbase/Server.html#getConnection()"><code>Server.getConnection()</code></a>.
 
@@ -2875,7 +2875,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetaTableLocator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class in org.apache.hadoop.hbase.zookeeper">MetaTableLocator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1904">getMetaTableLocator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class in org.apache.hadoop.hbase.zookeeper">MetaTableLocator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1905">getMetaTableLocator</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getMetaTableLocator()">Server</a></code></strong></div>
 <div class="block">Returns instance of <a href="../../../../../org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class in org.apache.hadoop.hbase.zookeeper"><code>MetaTableLocator</code></a>
  running inside this server. This MetaServerLocator is started and stopped by server, clients
@@ -2892,7 +2892,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1909">stop</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1910">stop</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html#stop(java.lang.String)">Stoppable</a></code></strong></div>
 <div class="block">Stop this service.</div>
 <dl>
@@ -2907,7 +2907,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>waitForServerOnline</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1925">waitForServerOnline</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1926">waitForServerOnline</a>()</pre>
 </li>
 </ul>
 <a name="postOpenDeployTasks(org.apache.hadoop.hbase.regionserver.Region)">
@@ -2916,7 +2916,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>postOpenDeployTasks</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1939">postOpenDeployTasks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1940">postOpenDeployTasks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r)
                          throws org.apache.zookeeper.KeeperException,
                                 <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#postOpenDeployTasks(org.apache.hadoop.hbase.regionserver.Region)">RegionServerServices</a></code></strong></div>
@@ -2937,7 +2937,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>postOpenDeployTasks</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1944">postOpenDeployTasks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.PostOpenDeployContext</a>&nbsp;context)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1945">postOpenDeployTasks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.PostOpenDeployContext</a>&nbsp;context)
                          throws org.apache.zookeeper.KeeperException,
                                 <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#postOpenDeployTasks(org.apache.hadoop.hbase.regionserver.RegionServerServices.PostOpenDeployContext)">RegionServerServices</a></code></strong></div>
@@ -2958,7 +2958,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>reportRegionStateTransition</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1981">reportRegionStateTransition</a>(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;code,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1982">reportRegionStateTransition</a>(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;code,
                                   <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>...&nbsp;hris)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#reportRegionStateTransition(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode,%20org.apache.hadoop.hbase.HRegionInfo...)">RegionServerServices</a></code></strong></div>
 <div class="block">Notify master that a handler requests to change a region state</div>
@@ -2974,7 +2974,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>reportRegionStateTransition</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1986">reportRegionStateTransition</a>(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;code,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1987">reportRegionStateTransition</a>(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;code,
                                   long&nbsp;openSeqNum,
                                   <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>...&nbsp;hris)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#reportRegionStateTransition(org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode,%20long,%20org.apache.hadoop.hbase.HRegionInfo...)">RegionServerServices</a></code></strong></div>
@@ -2991,7 +2991,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>reportRegionStateTransition</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1993">reportRegionStateTransition</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.RegionStateTransitionContext</a>&nbsp;context)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1994">reportRegionStateTransition</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.RegionStateTransitionContext</a>&nbsp;context)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#reportRegionStateTransition(org.apache.hadoop.hbase.regionserver.RegionServerServices.RegionStateTransitionContext)">RegionServerServices</a></code></strong></div>
 <div class="block">Notify master that a handler requests to change a region state</div>
 <dl>
@@ -3006,7 +3006,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>triggerFlushInPrimaryRegion</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2067">triggerFlushInPrimaryRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2068">triggerFlushInPrimaryRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region)</pre>
 <div class="block">Trigger a flush in the primary region replica if this region is a secondary replica. Does not
  block this thread. See RegionReplicaFlushHandler for details.</div>
 </li>
@@ -3017,7 +3017,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRpcServer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2088">getRpcServer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2089">getRpcServer</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getRpcServer()">RegionServerServices</a></code></strong></div>
 <div class="block">Returns a reference to the region server's RPC server</div>
 <dl>
@@ -3032,7 +3032,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRSRpcServices</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2093">getRSRpcServices</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2094">getRSRpcServices</a>()</pre>
 </li>
 </ul>
 <a name="abort(java.lang.String, java.lang.Throwable)">
@@ -3041,7 +3041,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>abort</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2108">abort</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2109">abort</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason,
          <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;cause)</pre>
 <div class="block">Cause the server to exit without closing the regions it is serving, the log
  it is using and without notifying the master. Used unit testing and on
@@ -3058,7 +3058,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>abort</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2152">abort</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2153">abort</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason)</pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#abort(java.lang.String,%20java.lang.Throwable)"><code>abort(String, Throwable)</code></a></dd></dl>
 </li>
 </ul>
@@ -3068,7 +3068,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>isAborted</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2157">isAborted</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2158">isAborted</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Abortable.html#isAborted()">Abortable</a></code></strong></div>
 <div class="block">Check if the server or client was aborted.</div>
 <dl>
@@ -3083,7 +3083,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>kill</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2166">kill</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2167">kill</a>()</pre>
 </li>
 </ul>
 <a name="sendShutdownInterrupt()">
@@ -3092,7 +3092,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>sendShutdownInterrupt</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2174">sendShutdownInterrupt</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2175">sendShutdownInterrupt</a>()</pre>
 <div class="block">Called on stop/abort before closing the cluster connection and meta locator.</div>
 </li>
 </ul>
@@ -3102,7 +3102,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>stopServiceThreads</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2181">stopServiceThreads</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2182">stopServiceThreads</a>()</pre>
 <div class="block">Wait on all threads to finish. Presumption is that all closes and stops
  have already been called.</div>
 </li>
@@ -3113,7 +3113,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationSourceService</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2226">getReplicationSourceService</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2227">getReplicationSourceService</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Return the object that implements the replication
  source service.</dd></dl>
 </li>
@@ -3124,7 +3124,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationSinkService</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2234">getReplicationSinkService</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2235">getReplicationSinkService</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Return the object that implements the replication
  sink service.</dd></dl>
 </li>
@@ -3135,7 +3135,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>createRegionServerStatusStub</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2247">createRegionServerStatusStub</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2248">createRegionServerStatusStub</a>()</pre>
 <div class="block">Get the current master from ZooKeeper and open the RPC connection to it.
  To get a fresh connection, the current rssStub must be null.
  Method will block until a master is available. You can break from this
@@ -3149,7 +3149,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>keepLooping</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2316">keepLooping</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2317">keepLooping</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>True if we should break loop because cluster is going down or
  this server has been stopped or hdfs has gone bad.</dd></dl>
 </li>
@@ -3160,7 +3160,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>reportForDuty</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2327">reportForDuty</a>()
+<pre>private&nbsp;org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2328">reportForDuty</a>()
                                                                                                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -3172,7 +3172,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastSequenceId</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionStoreSequenceIds&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2362">getLastSequenceId</a>(byte[]&nbsp;encodedRegionName)</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionStoreSequenceIds&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2363">getLastSequenceId</a>(byte[]&nbsp;encodedRegionName)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/LastSequenceId.html#getLastSequenceId(byte[])">getLastSequenceId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/LastSequenceId.html" title="interface in org.apache.hadoop.hbase.regionserver">LastSequenceId</a></code></dd>
@@ -3187,7 +3187,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>closeAllRegions</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2393">closeAllRegions</a>(boolean&nbsp;abort)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2394">closeAllRegions</a>(boolean&nbsp;abort)</pre>
 <div class="block">Closes all regions.  Called on our way out.
  Assumes that its not possible for new regions to be added to onlineRegions
  while this method runs.</div>
@@ -3199,7 +3199,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>closeMetaTableRegions</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2402">closeMetaTableRegions</a>(boolean&nbsp;abort)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2403">closeMetaTableRegions</a>(boolean&nbsp;abort)</pre>
 <div class="block">Close meta region if we carry it</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>abort</code> - Whether we're running an abort.</dd></dl>
 </li>
@@ -3210,7 +3210,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>closeUserRegions</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2425">closeUserRegions</a>(boolean&nbsp;abort)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2426">closeUserRegions</a>(boolean&nbsp;abort)</pre>
 <div class="block">Schedule closes on all user regions.
  Should be safe calling multiple times because it wont' close regions
  that are already closed or that are closing.</div>
@@ -3223,7 +3223,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getInfoServer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/http/InfoServer.html" title="class in org.apache.hadoop.hbase.http">InfoServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2441">getInfoServer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/http/InfoServer.html" title="class in org.apache.hadoop.hbase.http">InfoServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2442">getInfoServer</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the info server</dd></dl>
 </li>
 </ul>
@@ -3233,7 +3233,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>isStopped</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2449">isStopped</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2450">isStopped</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html#isStopped()">isStopped</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a></code></dd>
@@ -3246,7 +3246,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>isStopping</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2454">isStopping</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2455">isStopping</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#isStopping()">isStopping</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3259,7 +3259,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRecoveringRegions</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2459">getRecoveringRegions</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2460">getRecoveringRegions</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getRecoveringRegions()">getRecoveringRegions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3272,7 +3272,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfiguration</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2468">getConfiguration</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2469">getConfiguration</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getConfiguration()">Server</a></code></strong></div>
 <div class="block">Gets the configuration object for this server.</div>
 <dl>
@@ -3287,7 +3287,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteLock</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.WriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock.WriteLock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2473">getWriteLock</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.WriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock.WriteLock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2474">getWriteLock</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the write lock for the server</dd></dl>
 </li>
 </ul>
@@ -3297,7 +3297,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumberOfOnlineRegions</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2477">getNumberOfOnlineRegions</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2478">getNumberOfOnlineRegions</a>()</pre>
 </li>
 </ul>
 <a name="isOnlineRegionsEmpty()">
@@ -3306,7 +3306,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>isOnlineRegionsEmpty</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2481">isOnlineRegionsEmpty</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2482">isOnlineRegionsEmpty</a>()</pre>
 </li>
 </ul>
 <a name="getOnlineRegionsLocalContext()">
@@ -3315,7 +3315,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getOnlineRegionsLocalContext</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2490">getOnlineRegionsLocalContext</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2491">getOnlineRegionsLocalContext</a>()</pre>
 <div class="block">For tests, web ui and metrics.
  This method will only work if HRegionServer is in the same JVM as client;
  HRegion cannot be serialized to cross an rpc.</div>
@@ -3327,7 +3327,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>addToOnlineRegions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2496">addToOnlineRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2497">addToOnlineRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/OnlineRegions.html#addToOnlineRegions(org.apache.hadoop.hbase.regionserver.Region)">OnlineRegions</a></code></strong></div>
 <div class="block">Add to online regions.</div>
 <dl>
@@ -3342,7 +3342,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getCopyOfOnlineRegionsSortedBySize</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2506">getCopyOfOnlineRegionsSortedBySize</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2507">getCopyOfOnlineRegionsSortedBySize</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>A new Map of online regions sorted by region size with the first entry being the
  biggest.  If two regions are the same size, then the last one found wins; i.e. this method
  may NOT return all regions.</dd></dl>
@@ -3354,7 +3354,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartcode</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2525">getStartcode</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2526">getStartcode</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>time stamp in millis of when this region server was started</dd></dl>
 </li>
 </ul>
@@ -3364,7 +3364,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushRequester</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2531">getFlushRequester</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2532">getFlushRequester</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getFlushRequester()">getFlushRequester</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3377,7 +3377,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getMostLoadedRegions</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2541">getMostLoadedRegions</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2542">getMostLoadedRegions</a>()</pre>
 <div class="block">Get the top N most loaded regions this server is serving so we can tell the
  master which regions it can reallocate if we're overloaded. TODO: actually
  calculate which regions are most loaded. (Right now, we're just grabbing
@@ -3390,7 +3390,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getLeases</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.html" title="class in org.apache.hadoop.hbase.regionserver">Leases</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2557">getLeases</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.html" title="class in org.apache.hadoop.hbase.regionserver">Leases</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2558">getLeases</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getLeases()">getLeases</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3403,7 +3403,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRootDir</h4>
-<pre>protected&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2564">getRootDir</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2565">getRootDir</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Return the rootDir.</dd></dl>
 </li>
 </ul>
@@ -3413,7 +3413,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getFileSystem</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2572">getFileSystem</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2573">getFileSystem</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getFileSystem()">getFileSystem</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3426,7 +3426,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2577">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2578">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -3439,7 +3439,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getThreadWakeFrequency</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2586">getThreadWakeFrequency</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2587">getThreadWakeFrequency</a>()</pre>
 <div class="block">Interval at which threads should run</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the interval</dd></dl>
 </li>
@@ -3450,7 +3450,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getZooKeeper</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZooKeeperWatcher</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2591">getZooKeeper</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZooKeeperWatcher</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2592">getZooKeeper</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getZooKeeper()">Server</a></code></strong></div>
 <div class="block">Gets the ZooKeeper instance for this server.</div>
 <dl>
@@ -3465,7 +3465,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getCoordinatedStateManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coordination/BaseCoordinatedStateManager.html" title="class in org.apache.hadoop.hbase.coordination">BaseCoordinatedStateManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2596">getCoordinatedStateManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coordination/BaseCoordinatedStateManager.html" title="class in org.apache.hadoop.hbase.coordination">BaseCoordinatedStateManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2597">getCoordinatedStateManager</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getCoordinatedStateManager()">Server</a></code></strong></div>
 <div class="block">Get CoordinatedStateManager instance for this server.</div>
 <dl>
@@ -3480,7 +3480,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerName</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2601">getServerName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2602">getServerName</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getServerName()">getServerName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></code></dd>
@@ -3493,7 +3493,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionRequester</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactionRequestor.html" title="interface in org.apache.hadoop.hbase.regionserver">CompactionRequestor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2606">getCompactionRequester</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactionRequestor.html" title="interface in org.apache.hadoop.hbase.regionserver">CompactionRequestor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2607">getCompactionRequester</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getCompactionRequester()">getCompactionRequester</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3506,7 +3506,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerCoprocessorHost</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2610">getRegionServerCoprocessorHost</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2611">getRegionServerCoprocessorHost</a>()</pre>
 </li>
 </ul>
 <a name="getRegionsInTransitionInRS()">
@@ -3515,7 +3515,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionsInTransitionInRS</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2615">getRegionsInTransitionInRS</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2616">getRegionsInTransitionInRS</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getRegionsInTransitionInRS()">RegionServerServices</a></code></strong></div>
 <div class="block">Get the regions that are currently being opened or closed in the RS</div>
 <dl>
@@ -3530,7 +3530,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getExecutorService</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2620">getExecutorService</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2621">getExecutorService</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getExecutorService()">getExecutorService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3543,7 +3543,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getChoreService</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ChoreService.html" title="class in org.apache.hadoop.hbase">ChoreService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2625">getChoreService</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ChoreService.html" title="class in org.apache.hadoop.hbase">ChoreService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2626">getChoreService</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getChoreService()">getChoreService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></code></dd>
@@ -3556,7 +3556,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerQuotaManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2630">getRegionServerQuotaManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2631">getRegionServerQuotaManager</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getRegionServerQuotaManager()">getRegionServerQuotaManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3569,7 +3569,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>createNewReplicationInstance</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2641">createNewReplicationInstance</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2642">createNewReplicationInstance</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;server,
                                 org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                 org.apache.hadoop.fs.Path&nbsp;logDir,
@@ -3586,7 +3586,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>newReplicationInstance</h4>
-<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2676">newReplicationInstance</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classname,
+<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2677">newReplicationInstance</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classname,
                                         org.apache.hadoop.conf.Configuration&nbsp;conf,
                                         <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;server,
                                         org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -3603,7 +3603,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>constructRegionServer</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2702">constructRegionServer</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&gt;&nbsp;regionServerClass,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2703">constructRegionServer</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&gt;&nbsp;regionServerClass,
                                   org.apache.hadoop.conf.Configuration&nbsp;conf2,
                                   <a href="../../../../../org/apache/hadoop/hbase/CoordinatedStateManager.html" title="interface in org.apache.hadoop.hbase">CoordinatedStateManager</a>&nbsp;cp)</pre>
 <div class="block">Utility for constructing an instance of the passed HRegionServer class.</div>
@@ -3617,7 +3617,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2718">main</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2719">main</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServerCommandLine.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegionServerCommandLine</code></a></dd></dl>
@@ -3629,7 +3629,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getOnlineRegions</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2739">getOnlineRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2740">getOnlineRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Gets the online regions of the specified table.
  This method looks at the in-memory onlineRegions.  It does not go to <code>hbase:meta</code>.
  Only returns <em>online</em> regions.  If a region on this table has been
@@ -3649,7 +3649,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getOnlineRegions</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2753">getOnlineRegions</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2754">getOnlineRegions</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/OnlineRegions.html#getOnlineRegions()">OnlineRegions</a></code></strong></div>
 <div class="block">Get all online regions in this RS.</div>
 <dl>
@@ -3664,7 +3664,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getOnlineTables</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2767">getOnlineTables</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2768">getOnlineTables</a>()</pre>
 <div class="block">Gets the online tables in this RS.
  This method looks at the in-memory onlineRegions.</div>
 <dl>
@@ -3679,7 +3679,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerCoprocessors</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2778">getRegionServerCoprocessors</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2779">getRegionServerCoprocessors</a>()</pre>
 </li>
 </ul>
 <a name="closeRegionIgnoreErrors(org.apache.hadoop.hbase.HRegionInfo, boolean)">
@@ -3688,7 +3688,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionIgnoreErrors</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2805">closeRegionIgnoreErrors</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;region,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2806">closeRegionIgnoreErrors</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;region,
                            boolean&nbsp;abort)</pre>
 <div class="block">Try to close the region, logs a warning on failure but continues.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>region</code> - Region to close</dd></dl>
@@ -3700,7 +3700,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegion</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2835">closeRegion</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedName,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2836">closeRegion</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedName,
                   boolean&nbsp;abort,
                   <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)
                        throws <a href="../../../../../org/apache/hadoop/hbase/NotServingRegionException.html" title="class in org.apache.hadoop.hbase">NotServingRegionException</a></pre>
@@ -3727,7 +3727,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getOnlineRegion</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2899">getOnlineRegion</a>(byte[]&nbsp;regionName)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2900">getOnlineRegion</a>(byte[]&nbsp;regionName)</pre>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>regionName</code> - </dd>
 <dt><span class="strong">Returns:</span></dt><dd>HRegion for the passed binary <code>regionName</code> or null if
          named region is not member of the online regions.</dd></dl>
@@ -3739,7 +3739,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionBlockLocations</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2904">getRegionBlockLocations</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2905">getRegionBlockLocations</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)</pre>
 </li>
 </ul>
 <a name="getFromOnlineRegions(java.lang.String)">
@@ -3748,7 +3748,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getFromOnlineRegions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2909">getFromOnlineRegions</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2910">getFromOnlineRegions</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/OnlineRegions.html#getFromOnlineRegions(java.lang.String)">OnlineRegions</a></code></strong></div>
 <div class="block">Return <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>Region</code></a> instance.
  Only works if caller is in same context, in same JVM. Region is not
@@ -3766,7 +3766,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>removeFromOnlineRegions</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2915">removeFromOnlineRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2916">removeFromOnlineRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
                               <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;destination)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/OnlineRegions.html#removeFromOnlineRegions(org.apache.hadoop.hbase.regionserver.Region,%20org.apache.hadoop.hbase.ServerName)">OnlineRegions</a></code></strong></div>
 <div class="block">This method removes Region corresponding to hri from the Map of onlineRegions.</div>
@@ -3783,7 +3783,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegion</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2938">getRegion</a>(byte[]&nbsp;regionName)
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2939">getRegion</a>(byte[]&nbsp;regionName)
                     throws <a href="../../../../../org/apache/hadoop/hbase/NotServingRegionException.html" title="class in org.apache.hadoop.hbase">NotServingRegionException</a></pre>
 <div class="block">Protected utility method for safely obtaining an HRegion handle.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>regionName</code> - Name of online <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegion</code></a> to return</dd>
@@ -3798,7 +3798,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionByEncodedName</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2944">getRegionByEncodedName</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)
+<pre>publi

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html
index 566b26d..463d149 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html
@@ -115,149 +115,153 @@
 <span class="sourceLineNo">107</span>    throws java.io.IOException<a name="line.107"></a>
 <span class="sourceLineNo">108</span>  {<a name="line.108"></a>
 <span class="sourceLineNo">109</span>    // 172, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;th&gt;Request Per Second&lt;/th&gt;\n    &lt;th&gt;Read Request Count&lt;/th&gt;\n    &lt;th&gt;Write Request Count&lt;/th&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n    &lt;td&gt;");<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    // 179, 9<a name="line.111"></a>
+<span class="sourceLineNo">110</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;th&gt;Request Per Second&lt;/th&gt;\n    &lt;th&gt;Read Request Count&lt;/th&gt;\n    &lt;th&gt;Filtered Read Request Count&lt;/th&gt;\n    &lt;th&gt;Write Request Count&lt;/th&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n    &lt;td&gt;");<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    // 180, 9<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%.0f", mWrap.getRequestsPerSecond())), jamonWriter);<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    // 179, 66<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    // 180, 66<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    // 180, 9<a name="line.115"></a>
+<span class="sourceLineNo">115</span>    // 181, 9<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getReadRequestsCount()), jamonWriter);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    // 180, 43<a name="line.117"></a>
+<span class="sourceLineNo">117</span>    // 181, 43<a name="line.117"></a>
 <span class="sourceLineNo">118</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    // 181, 9<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getWriteRequestsCount()), jamonWriter);<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    // 181, 44<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n&lt;/table&gt;\n");<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  <a name="line.124"></a>
-<span class="sourceLineNo">125</span>  <a name="line.125"></a>
-<span class="sourceLineNo">126</span>  // 186, 1<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  private void __jamon_innerUnit__queueStats(final java.io.Writer jamonWriter, final MetricsRegionServerWrapper mWrap, final MetricsHBaseServerWrapper mServerWrap)<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    throws java.io.IOException<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // 191, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;th&gt;Compaction Queue Size&lt;/th&gt;\n    &lt;th&gt;Flush Queue Size&lt;/th&gt;\n    &lt;th&gt;Call Queue Size (bytes)&lt;/th&gt;\n\n&lt;/tr&gt;\n&lt;tr&gt;\n    &lt;td&gt;");<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    // 199, 9<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getCompactionQueueSize()), jamonWriter);<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    // 199, 45<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    // 200, 9<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getFlushQueueSize()), jamonWriter);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    // 200, 40<a name="line.138"></a>
+<span class="sourceLineNo">119</span>    // 182, 9<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getFilteredReadRequestsCount()), jamonWriter);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    // 182, 51<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    // 183, 9<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getWriteRequestsCount()), jamonWriter);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    // 183, 44<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n&lt;/table&gt;\n");<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  }<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  <a name="line.128"></a>
+<span class="sourceLineNo">129</span>  <a name="line.129"></a>
+<span class="sourceLineNo">130</span>  // 188, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  private void __jamon_innerUnit__queueStats(final java.io.Writer jamonWriter, final MetricsRegionServerWrapper mWrap, final MetricsHBaseServerWrapper mServerWrap)<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    throws java.io.IOException<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    // 193, 1<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;th&gt;Compaction Queue Size&lt;/th&gt;\n    &lt;th&gt;Flush Queue Size&lt;/th&gt;\n    &lt;th&gt;Call Queue Size (bytes)&lt;/th&gt;\n\n&lt;/tr&gt;\n&lt;tr&gt;\n    &lt;td&gt;");<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    // 201, 9<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getCompactionQueueSize()), jamonWriter);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    // 201, 45<a name="line.138"></a>
 <span class="sourceLineNo">139</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    // 201, 9<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.TraditionalBinaryPrefix.long2String(mServerWrap.getTotalQueueSize(),<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      "", 1)), jamonWriter);<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    // 202, 16<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n&lt;/table&gt;\n");<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  <a name="line.146"></a>
-<span class="sourceLineNo">147</span>  <a name="line.147"></a>
-<span class="sourceLineNo">148</span>  // 94, 1<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private void __jamon_innerUnit__memoryStats(final java.io.Writer jamonWriter, final MetricsRegionServerWrapper mWrap)<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    throws java.io.IOException<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  {<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    // 98, 1<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;tr&gt;\n        &lt;th&gt;Used Heap&lt;/th&gt;\n        &lt;th&gt;Max Heap&lt;/th&gt;\n        &lt;th&gt;Direct Memory Used&lt;/th&gt;\n        &lt;th&gt;Direct Memory Configured&lt;/th&gt;\n        &lt;th&gt;Memstore Size&lt;/th&gt;\n    &lt;/tr&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n    &lt;td&gt;\n        ");<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    // 110, 9<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getUsed())), jamonWriter);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    // 110, 111<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    jamonWriter.write("\n    &lt;/td&gt;\n    &lt;td&gt;\n        ");<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    // 113, 9<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getMax())), jamonWriter);<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    // 113, 110<a name="line.160"></a>
+<span class="sourceLineNo">140</span>    // 202, 9<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getFlushQueueSize()), jamonWriter);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    // 202, 40<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    // 203, 9<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.TraditionalBinaryPrefix.long2String(mServerWrap.getTotalQueueSize(),<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      "", 1)), jamonWriter);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    // 204, 16<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n&lt;/table&gt;\n");<a name="line.148"></a>
+<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  <a name="line.150"></a>
+<span class="sourceLineNo">151</span>  <a name="line.151"></a>
+<span class="sourceLineNo">152</span>  // 94, 1<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  private void __jamon_innerUnit__memoryStats(final java.io.Writer jamonWriter, final MetricsRegionServerWrapper mWrap)<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    throws java.io.IOException<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    // 98, 1<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;tr&gt;\n        &lt;th&gt;Used Heap&lt;/th&gt;\n        &lt;th&gt;Max Heap&lt;/th&gt;\n        &lt;th&gt;Direct Memory Used&lt;/th&gt;\n        &lt;th&gt;Direct Memory Configured&lt;/th&gt;\n        &lt;th&gt;Memstore Size&lt;/th&gt;\n    &lt;/tr&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n    &lt;td&gt;\n        ");<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    // 110, 9<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getUsed())), jamonWriter);<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    // 110, 111<a name="line.160"></a>
 <span class="sourceLineNo">161</span>    jamonWriter.write("\n    &lt;/td&gt;\n    &lt;td&gt;\n        ");<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    // 116, 9<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(DirectMemoryUtils.getDirectMemoryUsage())), jamonWriter);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    // 116, 85<a name="line.164"></a>
+<span class="sourceLineNo">162</span>    // 113, 9<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getMax())), jamonWriter);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    // 113, 110<a name="line.164"></a>
 <span class="sourceLineNo">165</span>    jamonWriter.write("\n    &lt;/td&gt;\n    &lt;td&gt;\n        ");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    // 119, 9<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(DirectMemoryUtils.getDirectMemorySize())), jamonWriter);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    // 119, 84<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    jamonWriter.write("\n    &lt;/td&gt;\n    &lt;td&gt;");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    // 121, 9<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(mWrap.getMemstoreSize())), jamonWriter);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    // 121, 68<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n&lt;/table&gt;\n");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  <a name="line.175"></a>
-<span class="sourceLineNo">176</span>  <a name="line.176"></a>
-<span class="sourceLineNo">177</span>  // 71, 1<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  private void __jamon_innerUnit__baseStats(final java.io.Writer jamonWriter, final MetricsRegionServerWrapper mWrap)<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    throws java.io.IOException<a name="line.179"></a>
-<span class="sourceLineNo">180</span>  {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    // 75, 1<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n    &lt;tr&gt;\n\n        &lt;th&gt;Requests Per Second&lt;/th&gt;\n        &lt;th&gt;Num. Regions&lt;/th&gt;\n        &lt;th&gt;Block locality&lt;/th&gt;\n        &lt;th&gt;Block locality (Secondary replicas)&lt;/th&gt;\n        &lt;th&gt;Slow WAL Append Count&lt;/th&gt;\n    &lt;/tr&gt;\n    &lt;tr&gt;\n        &lt;td&gt;");<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    // 85, 13<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%.0f", mWrap.getRequestsPerSecond())), jamonWriter);<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    // 85, 70<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    jamonWriter.write("&lt;/td&gt;\n        &lt;td&gt;");<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    // 86, 13<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getNumOnlineRegions()), jamonWriter);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    // 86, 46<a name="line.189"></a>
+<span class="sourceLineNo">166</span>    // 116, 9<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(DirectMemoryUtils.getDirectMemoryUsage())), jamonWriter);<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    // 116, 85<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    jamonWriter.write("\n    &lt;/td&gt;\n    &lt;td&gt;\n        ");<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    // 119, 9<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(DirectMemoryUtils.getDirectMemorySize())), jamonWriter);<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    // 119, 84<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    jamonWriter.write("\n    &lt;/td&gt;\n    &lt;td&gt;");<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    // 121, 9<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(mWrap.getMemstoreSize())), jamonWriter);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    // 121, 68<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n&lt;/table&gt;\n");<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  <a name="line.179"></a>
+<span class="sourceLineNo">180</span>  <a name="line.180"></a>
+<span class="sourceLineNo">181</span>  // 71, 1<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  private void __jamon_innerUnit__baseStats(final java.io.Writer jamonWriter, final MetricsRegionServerWrapper mWrap)<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    throws java.io.IOException<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    // 75, 1<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n    &lt;tr&gt;\n\n        &lt;th&gt;Requests Per Second&lt;/th&gt;\n        &lt;th&gt;Num. Regions&lt;/th&gt;\n        &lt;th&gt;Block locality&lt;/th&gt;\n        &lt;th&gt;Block locality (Secondary replicas)&lt;/th&gt;\n        &lt;th&gt;Slow WAL Append Count&lt;/th&gt;\n    &lt;/tr&gt;\n    &lt;tr&gt;\n        &lt;td&gt;");<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    // 85, 13<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%.0f", mWrap.getRequestsPerSecond())), jamonWriter);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    // 85, 70<a name="line.189"></a>
 <span class="sourceLineNo">190</span>    jamonWriter.write("&lt;/td&gt;\n        &lt;td&gt;");<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    // 87, 13<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getPercentFileLocal()), jamonWriter);<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    // 87, 46<a name="line.193"></a>
+<span class="sourceLineNo">191</span>    // 86, 13<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getNumOnlineRegions()), jamonWriter);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    // 86, 46<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    jamonWriter.write("&lt;/td&gt;\n        &lt;td&gt;");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    // 88, 13<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getPercentFileLocalSecondaryRegions()), jamonWriter);<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    // 88, 62<a name="line.197"></a>
+<span class="sourceLineNo">195</span>    // 87, 13<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getPercentFileLocal()), jamonWriter);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    // 87, 46<a name="line.197"></a>
 <span class="sourceLineNo">198</span>    jamonWriter.write("&lt;/td&gt;\n        &lt;td&gt;");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    // 89, 13<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getNumWALSlowAppend()), jamonWriter);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    // 89, 46<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;/tr&gt;\n&lt;/table&gt;\n");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  }<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  <a name="line.204"></a>
-<span class="sourceLineNo">205</span>  <a name="line.205"></a>
-<span class="sourceLineNo">206</span>  // 126, 1<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  private void __jamon_innerUnit__walStats(final java.io.Writer jamonWriter, final MetricsRegionServerWrapper mWrap)<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    throws java.io.IOException<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    // 130, 1<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;tr&gt;\n        &lt;th&gt;Num. WAL Files&lt;/th&gt;\n        &lt;th&gt;Size. WAL Files (bytes)&lt;/th&gt;\n    &lt;/tr&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n    &lt;td&gt;");<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // 138, 9<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getNumWALFiles()), jamonWriter);<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    // 138, 37<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    // 139, 9<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getWALFileSize()), jamonWriter);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    // 139, 37<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n&lt;/table&gt;\n");<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  }<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  <a name="line.221"></a>
-<span class="sourceLineNo">222</span>  <a name="line.222"></a>
-<span class="sourceLineNo">223</span>  // 144, 1<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  private void __jamon_innerUnit__storeStats(final java.io.Writer jamonWriter, final MetricsRegionServerWrapper mWrap)<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    throws java.io.IOException<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    // 148, 1<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n\n    &lt;th&gt;Num. Stores&lt;/th&gt;\n    &lt;th&gt;Num. Storefiles&lt;/th&gt;\n    &lt;th&gt;Root Index Size (bytes)&lt;/th&gt;\n    &lt;th&gt;Index Size (bytes)&lt;/th&gt;\n    &lt;th&gt;Bloom Size (bytes)&lt;/th&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n    &lt;td&gt;");<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    // 158, 9<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(mWrap.getNumStores())), jamonWriter);<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    // 158, 65<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    // 159, 9<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(mWrap.getNumStoreFiles())), jamonWriter);<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    // 159, 69<a name="line.235"></a>
+<span class="sourceLineNo">199</span>    // 88, 13<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getPercentFileLocalSecondaryRegions()), jamonWriter);<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    // 88, 62<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    jamonWriter.write("&lt;/td&gt;\n        &lt;td&gt;");<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    // 89, 13<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getNumWALSlowAppend()), jamonWriter);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    // 89, 46<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;/tr&gt;\n&lt;/table&gt;\n");<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  <a name="line.208"></a>
+<span class="sourceLineNo">209</span>  <a name="line.209"></a>
+<span class="sourceLineNo">210</span>  // 126, 1<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  private void __jamon_innerUnit__walStats(final java.io.Writer jamonWriter, final MetricsRegionServerWrapper mWrap)<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    throws java.io.IOException<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    // 130, 1<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;tr&gt;\n        &lt;th&gt;Num. WAL Files&lt;/th&gt;\n        &lt;th&gt;Size. WAL Files (bytes)&lt;/th&gt;\n    &lt;/tr&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n    &lt;td&gt;");<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    // 138, 9<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getNumWALFiles()), jamonWriter);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    // 138, 37<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    // 139, 9<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(mWrap.getWALFileSize()), jamonWriter);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    // 139, 37<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n&lt;/table&gt;\n");<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  <a name="line.225"></a>
+<span class="sourceLineNo">226</span>  <a name="line.226"></a>
+<span class="sourceLineNo">227</span>  // 144, 1<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  private void __jamon_innerUnit__storeStats(final java.io.Writer jamonWriter, final MetricsRegionServerWrapper mWrap)<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    throws java.io.IOException<a name="line.229"></a>
+<span class="sourceLineNo">230</span>  {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    // 148, 1<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n\n    &lt;th&gt;Num. Stores&lt;/th&gt;\n    &lt;th&gt;Num. Storefiles&lt;/th&gt;\n    &lt;th&gt;Root Index Size (bytes)&lt;/th&gt;\n    &lt;th&gt;Index Size (bytes)&lt;/th&gt;\n    &lt;th&gt;Bloom Size (bytes)&lt;/th&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n    &lt;td&gt;");<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    // 158, 9<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(mWrap.getNumStores())), jamonWriter);<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    // 158, 65<a name="line.235"></a>
 <span class="sourceLineNo">236</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    // 160, 9<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(mWrap.getStoreFileIndexSize())), jamonWriter);<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // 160, 74<a name="line.239"></a>
+<span class="sourceLineNo">237</span>    // 159, 9<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(mWrap.getNumStoreFiles())), jamonWriter);<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    // 159, 69<a name="line.239"></a>
 <span class="sourceLineNo">240</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    // 161, 9<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(mWrap.getTotalStaticIndexSize())), jamonWriter);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    // 161, 76<a name="line.243"></a>
+<span class="sourceLineNo">241</span>    // 160, 9<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(mWrap.getStoreFileIndexSize())), jamonWriter);<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    // 160, 74<a name="line.243"></a>
 <span class="sourceLineNo">244</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    // 162, 9<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(mWrap.getTotalStaticBloomSize())), jamonWriter);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // 162, 76<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n&lt;/table&gt;\n");<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  <a name="line.250"></a>
-<span class="sourceLineNo">251</span>  <a name="line.251"></a>
-<span class="sourceLineNo">252</span>}<a name="line.252"></a>
+<span class="sourceLineNo">245</span>    // 161, 9<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(mWrap.getTotalStaticIndexSize())), jamonWriter);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    // 161, 76<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    // 162, 9<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(mWrap.getTotalStaticBloomSize())), jamonWriter);<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    // 162, 76<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n&lt;/table&gt;\n");<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  }<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  <a name="line.254"></a>
+<span class="sourceLineNo">255</span>  <a name="line.255"></a>
+<span class="sourceLineNo">256</span>}<a name="line.256"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html b/devapidocs/src-html/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html
index fde9a72..ea09a77 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html
@@ -301,7 +301,7 @@
 <span class="sourceLineNo">293</span>      if (Ids.ANYONE_ID_UNSAFE.equals(id)) {<a name="line.293"></a>
 <span class="sourceLineNo">294</span>        if (perms != Perms.READ) {<a name="line.294"></a>
 <span class="sourceLineNo">295</span>          if (LOG.isDebugEnabled()) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>            LOG.debug(String.format("permissions for '%s' are not correct: have %0x, want %0x",<a name="line.296"></a>
+<span class="sourceLineNo">296</span>            LOG.debug(String.format("permissions for '%s' are not correct: have 0x%x, want 0x%x",<a name="line.296"></a>
 <span class="sourceLineNo">297</span>              id, perms, Perms.READ));<a name="line.297"></a>
 <span class="sourceLineNo">298</span>          }<a name="line.298"></a>
 <span class="sourceLineNo">299</span>          return false;<a name="line.299"></a>
@@ -309,7 +309,7 @@
 <span class="sourceLineNo">301</span>      } else if (superUsers != null &amp;&amp; isSuperUserId(superUsers, id)) {<a name="line.301"></a>
 <span class="sourceLineNo">302</span>        if (perms != Perms.ALL) {<a name="line.302"></a>
 <span class="sourceLineNo">303</span>          if (LOG.isDebugEnabled()) {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>            LOG.debug(String.format("permissions for '%s' are not correct: have %0x, want %0x",<a name="line.304"></a>
+<span class="sourceLineNo">304</span>            LOG.debug(String.format("permissions for '%s' are not correct: have 0x%x, want 0x%x",<a name="line.304"></a>
 <span class="sourceLineNo">305</span>              id, perms, Perms.ALL));<a name="line.305"></a>
 <span class="sourceLineNo">306</span>          }<a name="line.306"></a>
 <span class="sourceLineNo">307</span>          return false;<a name="line.307"></a>
@@ -324,8 +324,8 @@
 <span class="sourceLineNo">316</span>        if (name.equals(hbaseUser)) {<a name="line.316"></a>
 <span class="sourceLineNo">317</span>          if (perms != Perms.ALL) {<a name="line.317"></a>
 <span class="sourceLineNo">318</span>            if (LOG.isDebugEnabled()) {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>              LOG.debug(String.format("permissions for '%s' are not correct: have %0x, want %0x",<a name="line.319"></a>
-<span class="sourceLineNo">320</span>                id.toString(), perms, Perms.ALL));<a name="line.320"></a>
+<span class="sourceLineNo">319</span>              LOG.debug(String.format("permissions for '%s' are not correct: have 0x%x, want 0x%x",<a name="line.319"></a>
+<span class="sourceLineNo">320</span>                id, perms, Perms.ALL));<a name="line.320"></a>
 <span class="sourceLineNo">321</span>            }<a name="line.321"></a>
 <span class="sourceLineNo">322</span>            return false;<a name="line.322"></a>
 <span class="sourceLineNo">323</span>          }<a name="line.323"></a>
@@ -360,7 +360,7 @@
 <span class="sourceLineNo">352</span>            } else {<a name="line.352"></a>
 <span class="sourceLineNo">353</span>              if (LOG.isDebugEnabled()) {<a name="line.353"></a>
 <span class="sourceLineNo">354</span>                LOG.debug(String.format(<a name="line.354"></a>
-<span class="sourceLineNo">355</span>                  "superuser '%s' does not have correct permissions: have %0x, want %0x",<a name="line.355"></a>
+<span class="sourceLineNo">355</span>                  "superuser '%s' does not have correct permissions: have 0x%x, want 0x%x",<a name="line.355"></a>
 <span class="sourceLineNo">356</span>                  acl.getId().getId(), acl.getPerms(), Perms.ALL));<a name="line.356"></a>
 <span class="sourceLineNo">357</span>              }<a name="line.357"></a>
 <span class="sourceLineNo">358</span>            }<a name="line.358"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/hbase-annotations/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/team-list.html b/hbase-annotations/team-list.html
index 73d9254..f829219 100644
--- a/hbase-annotations/team-list.html
+++ b/hbase-annotations/team-list.html
@@ -540,8 +540,8 @@
 <td><a name="zhangduo"></a>zhangduo</td>
 <td>Duo Zhang</td>
 <td><a class="externalLink" href="mailto:zhangduo@apache.org">zhangduo@apache.org</a></td>
-<td>unaffiliated</td>
-<td><a class="externalLink" href="https://github.com/Apache9">https://github.com/Apache9</a></td>
+<td>Xiaomi</td>
+<td><a class="externalLink" href="http://www.mi.com">http://www.mi.com</a></td>
 <td>+8</td>
 <td><span id="developer-45">+8</span></td></tr>
 <tr class="b">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/hbase-spark/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-spark/team-list.html b/hbase-spark/team-list.html
index 8054bf2..498711b 100644
--- a/hbase-spark/team-list.html
+++ b/hbase-spark/team-list.html
@@ -540,8 +540,8 @@
 <td><a name="zhangduo"></a>zhangduo</td>
 <td>Duo Zhang</td>
 <td><a class="externalLink" href="mailto:zhangduo@apache.org">zhangduo@apache.org</a></td>
-<td>unaffiliated</td>
-<td><a class="externalLink" href="https://github.com/Apache9">https://github.com/Apache9</a></td>
+<td>Xiaomi</td>
+<td><a class="externalLink" href="http://www.mi.com">http://www.mi.com</a></td>
 <td>+8</td>
 <td><span id="developer-45">+8</span></td></tr>
 <tr class="b">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index 8cadc5e..bfb37c9 100644
--- a/team-list.html
+++ b/team-list.html
@@ -695,8 +695,8 @@
 <td><a name="zhangduo"></a>zhangduo</td>
 <td>Duo Zhang</td>
 <td><a class="externalLink" href="mailto:zhangduo@apache.org">zhangduo@apache.org</a></td>
-<td>unaffiliated</td>
-<td><a class="externalLink" href="https://github.com/Apache9">https://github.com/Apache9</a></td>
+<td>Xiaomi</td>
+<td><a class="externalLink" href="http://www.mi.com">http://www.mi.com</a></td>
 <td>+8</td>
 <td><span id="developer-45">+8</span></td></tr>
 <tr class="b">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/testdevapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-frame.html b/testdevapidocs/allclasses-frame.html
index 2be0c28..ace1bbe 100644
--- a/testdevapidocs/allclasses-frame.html
+++ b/testdevapidocs/allclasses-frame.html
@@ -1243,6 +1243,8 @@
 <li><a href="org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorExceptionWithRemove.BuggyRegionObserver.html" title="class in org.apache.hadoop.hbase.coprocessor" target="classFrame">TestRegionServerCoprocessorExceptionWithRemove.BuggyRegionObserver</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">TestRegionServerHostname</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">TestRegionServerMetrics</a></li>
+<li><a href="org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase" target="classFrame">TestRegionServerMetrics</a></li>
+<li><a href="org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase" target="classFrame">TestRegionServerMetrics.Metric</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerNoMaster.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">TestRegionServerNoMaster</a></li>
 <li><a href="org/apache/hadoop/hbase/coprocessor/TestRegionServerObserver.html" title="class in org.apache.hadoop.hbase.coprocessor" target="classFrame">TestRegionServerObserver</a></li>
 <li><a href="org/apache/hadoop/hbase/coprocessor/TestRegionServerObserver.CPRegionServerObserver.html" title="class in org.apache.hadoop.hbase.coprocessor" target="classFrame">TestRegionServerObserver.CPRegionServerObserver</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/testdevapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-noframe.html b/testdevapidocs/allclasses-noframe.html
index 36470db..a587667 100644
--- a/testdevapidocs/allclasses-noframe.html
+++ b/testdevapidocs/allclasses-noframe.html
@@ -1243,6 +1243,8 @@
 <li><a href="org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorExceptionWithRemove.BuggyRegionObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestRegionServerCoprocessorExceptionWithRemove.BuggyRegionObserver</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionServerHostname</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionServerMetrics</a></li>
+<li><a href="org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></li>
+<li><a href="org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase">TestRegionServerMetrics.Metric</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerNoMaster.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionServerNoMaster</a></li>
 <li><a href="org/apache/hadoop/hbase/coprocessor/TestRegionServerObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestRegionServerObserver</a></li>
 <li><a href="org/apache/hadoop/hbase/coprocessor/TestRegionServerObserver.CPRegionServerObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestRegionServerObserver.CPRegionServerObserver</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/testdevapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/constant-values.html b/testdevapidocs/constant-values.html
index 2052555..2176c78 100644
--- a/testdevapidocs/constant-values.html
+++ b/testdevapidocs/constant-values.html
@@ -1691,6 +1691,39 @@
 </li>
 <li class="blockList">
 <table border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.TestRegionServerMetrics.MAX_TRY">
+<!--   -->
+</a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/hadoop/hbase/TestRegionServerMetrics.html#MAX_TRY">MAX_TRY</a></code></td>
+<td class="colLast"><code>20</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.TestRegionServerMetrics.SLEEP_MS">
+<!--   -->
+</a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/hadoop/hbase/TestRegionServerMetrics.html#SLEEP_MS">SLEEP_MS</a></code></td>
+<td class="colLast"><code>100</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.TestRegionServerMetrics.TTL">
+<!--   -->
+</a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/hadoop/hbase/TestRegionServerMetrics.html#TTL">TTL</a></code></td>
+<td class="colLast"><code>1</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestSerialization.html" title="class in org.apache.hadoop.hbase">TestSerialization</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 86654f3..e11aee8 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -10496,7 +10496,7 @@
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/RegionLoad.html#L131">131</a></td></tr></table></div>
+<td><a href="./xref/org/apache/hadoop/hbase/RegionLoad.html#L138">138</a></td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.RegionLocations.java">org/apache/hadoop/hbase/RegionLocations.java</h3>
 <table border="0" class="table table-striped">
@@ -10646,13 +10646,13 @@
 <td>indentation</td>
 <td>Indentation</td>
 <td>'member def type' have incorrect indentation level 5, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/ServerLoad.html#L275">275</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/ServerLoad.html#L281">281</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 5, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/ServerLoad.html#L275">275</a></td></tr></table></div>
+<td><a href="./xref/org/apache/hadoop/hbase/ServerLoad.html#L281">281</a></td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.ServerName.java">org/apache/hadoop/hbase/ServerName.java</h3>
 <table border="0" class="table table-striped">
@@ -55829,1669 +55829,1669 @@
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L366">366</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L367">367</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L367">367</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L368">368</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L607">607</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L608">608</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L609">609</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L610">610</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L610">610</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L611">611</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L611">611</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L612">612</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L612">612</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L613">613</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L613">613</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L614">614</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L617">617</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L618">618</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L638">638</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L639">639</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L639">639</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L640">640</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L640">640</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L641">641</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L641">641</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L642">642</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L642">642</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L643">643</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L752">752</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L753">753</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L887">887</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L888">888</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L888">888</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L889">889</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L890">890</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L891">891</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L974">974</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L975">975</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1013">1013</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1014">1014</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1025">1025</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1026">1026</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1042">1042</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1043">1043</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1057">1057</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1058">1058</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1068">1068</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1069">1069</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1099">1099</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1100">1100</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1303">1303</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1309">1309</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1304">1304</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1310">1310</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1308">1308</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1314">1314</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1309">1309</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1315">1315</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1344">1344</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1350">1350</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1345">1345</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1351">1351</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1349">1349</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1355">1355</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1350">1350</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1356">1356</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 157 lines (max allowed is 150).</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1377">1377</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1383">1383</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1528">1528</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1534">1534</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1660">1660</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1666">1666</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1663">1663</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1669">1669</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1665">1665</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1671">1671</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1668">1668</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1674">1674</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1941">1941</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1947">1947</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1942">1942</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1948">1948</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1970">1970</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1976">1976</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1971">1971</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L1977">1977</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 198 lines (max allowed is 150).</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2175">2175</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2181">2181</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>InnerAssignment</td>
 <td>Inner assignments should be avoided.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2300">2300</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2306">2306</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2347">2347</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2353">2353</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2379">2379</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2385">2385</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2389">2389</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2395">2395</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2425">2425</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2431">2431</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2550">2550</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2556">2556</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 3, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2571">2571</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2577">2577</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2657">2657</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2663">2663</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2684">2684</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2690">2690</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2901">2901</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2907">2907</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
-<td>Method length is 391 lines (max allowed is 150).</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2973">2973</a></td></tr>
+<td>Method length is 393 lines (max allowed is 150).</td>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2983">2983</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3103">3103</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3113">3113</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3112">3112</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3122">3122</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3134">3134</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3147">3147</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3206">3206</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3219">3219</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3317">3317</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3330">3330</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3389">3389</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3402">3402</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3438">3438</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3451">3451</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3439">3439</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3452">3452</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3440">3440</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3453">3453</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3441">3441</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3454">3454</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3442">3442</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3455">3455</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3443">3443</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3456">3456</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3444">3444</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3457">3457</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3445">3445</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3458">3458</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3446">3446</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3459">3459</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3447">3447</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3460">3460</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3448">3448</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3461">3461</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3449">3449</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3462">3462</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3450">3450</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3463">3463</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3451">3451</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3464">3464</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3452">3452</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3465">3465</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3453">3453</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3466">3466</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3454">3454</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3467">3467</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3455">3455</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3468">3468</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3456">3456</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3469">3469</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3457">3457</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3470">3470</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3534">3534</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3547">3547</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3535">3535</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3548">3548</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3536">3536</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3549">3549</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3537">3537</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3550">3550</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3538">3538</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3551">3551</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3539">3539</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3552">3552</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3540">3540</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3553">3553</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3541">3541</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3554">3554</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3542">3542</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3555">3555</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3543">3543</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3556">3556</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3544">3544</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3557">3557</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3545">3545</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3558">3558</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3546">3546</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3559">3559</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3547">3547</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3560">3560</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3548">3548</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3561">3561</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3549">3549</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3562">3562</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3550">3550</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3563">3563</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3551">3551</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3564">3564</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3552">3552</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3565">3565</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3553">3553</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3566">3566</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3624">3624</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3637">3637</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3645">3645</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3658">3658</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3708">3708</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3721">3721</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 3, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3740">3740</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3753">3753</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 5, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3741">3741</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3754">3754</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method call' child have incorrect indentation level 5, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3741">3741</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3754">3754</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3750">3750</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3763">3763</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3773">3773</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3786">3786</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 5, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3794">3794</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3807">3807</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 3, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3795">3795</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3808">3808</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3938">3938</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3951">3951</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3940">3940</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3953">3953</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3941">3941</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3954">3954</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3962">3962</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3975">3975</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3969">3969</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3982">3982</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 185 lines (max allowed is 150).</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4051">4051</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4064">4064</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 9, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4234">4234</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4247">4247</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4322">4322</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4335">4335</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4323">4323</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4336">4336</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method call' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4323">4323</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4336">4336</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4324">4324</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4337">4337</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4325">4325</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4338">4338</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4326">4326</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4339">4339</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method call' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4326">4326</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4339">4339</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4327">4327</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4340">4340</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4328">4328</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4341">4341</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4329">4329</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4342">4342</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method call' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4329">4329</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4342">4342</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4330">4330</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4343">4343</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4331">4331</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4344">4344</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4332">4332</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4345">4345</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method call' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4332">4332</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4345">4345</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4333">4333</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4346">4346</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4334">4334</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4347">4347</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4335">4335</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4348">4348</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method call' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4335">4335</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4348">4348</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method call' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4336">4336</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4349">4349</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4338">4338</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4351">4351</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4585">4585</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4598">4598</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4586">4586</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4599">4599</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4587">4587</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4600">4600</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4588">4588</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4601">4601</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4629">4629</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4642">4642</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'for' have incorrect indentation level 10, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4994">4994</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5007">5007</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'for' child have incorrect indentation level 12, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4995">4995</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5008">5008</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'for rcurly' have incorrect indentation level 10, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4996">4996</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5009">5009</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5023">5023</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5036">5036</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5074">5074</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5087">5087</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5133">5133</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5146">5146</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5164">5164</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5177">5177</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>ParenPad</td>
 <td>')' is preceded with whitespace.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5293">5293</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5306">5306</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5711">5711</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5724">5724</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5763">5763</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5776">5776</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5764">5764</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5777">5777</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5785">5785</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5798">5798</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5808">5808</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5821">5821</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5809">5809</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5822">5822</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 197 lines (max allowed is 150).</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5828">5828</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5841">5841</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5975">5975</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L5988">5988</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6016">6016</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6029">6029</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6028">6028</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6043">6043</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6034">6034</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6049">6049</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6040">6040</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6055">6055</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6042">6042</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6057">6057</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>InnerAssignment</td>
 <td>Inner assignments should be avoided.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6085">6085</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6100">6100</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 111).</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6099">6099</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6114">6114</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6188">6188</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6203">6203</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6190">6190</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6205">6205</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6191">6191</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6206">6206</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6192">6192</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6207">6207</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6193">6193</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6208">6208</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6194">6194</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6209">6209</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6198">6198</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6213">6213</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6230">6230</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6245">6245</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6243">6243</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6258">6258</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6260">6260</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6275">6275</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6261">6261</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6276">6276</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6262">6262</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6277">6277</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6265">6265</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6280">6280</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6279">6279</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6294">6294</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6280">6280</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6295">6295</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6281">6281</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6296">6296</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6287">6287</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6302">6302</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6303">6303</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6318">6318</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6304">6304</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6319">6319</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6305">6305</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6320">6320</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6308">6308</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6323">6323</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6322">6322</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6337">6337</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6323">6323</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6338">6338</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6324">6324</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6339">6339</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6329">6329</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6344">6344</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6354">6354</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6369">6369</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6355">6355</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6370">6370</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6356">6356</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6371">6371</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6358">6358</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6373">6373</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6374">6374</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6389">6389</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6375">6375</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6390">6390</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6376">6376</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6391">6391</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6380">6380</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6395">6395</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6398">6398</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6413">6413</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6399">6399</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6414">6414</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6400">6400</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6415">6415</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6404">6404</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6419">6419</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6411">6411</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6426">6426</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6425">6425</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6440">6440</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6444">6444</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6459">6459</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6473">6473</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6488">6488</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6517">6517</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6532">6532</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6535">6535</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6551">6551</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6559">6559</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6577">6577</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6634">6634</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6652">6652</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6668">6668</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6686">6686</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' have incorrect indentation level 3, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6744">6744</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6762">6762</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6777">6777</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6795">6795</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6822">6822</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6840">6840</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6826">6826</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6844">6844</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6828">6828</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L6846">6846</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 163 lines (max allowed is 150).</td>
-<td><a href="./xref/org/apache/hadoop/hba

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
index d8b7655..385118d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
@@ -68,14 +68,14 @@
 <span class="sourceLineNo">060</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  optionalArguments = {<a name="line.61"></a>
 <span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.68"></a>
+<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.68"></a>
 <span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;")})<a name="line.70"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager")})<a name="line.70"></a>
 <span class="sourceLineNo">071</span>public class MasterStatusTmpl<a name="line.71"></a>
 <span class="sourceLineNo">072</span>  extends org.jamon.AbstractTemplateProxy<a name="line.72"></a>
 <span class="sourceLineNo">073</span>{<a name="line.73"></a>
@@ -133,108 +133,108 @@
 <span class="sourceLineNo">125</span>      return m_metaLocation__IsNotDefault;<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    }<a name="line.126"></a>
 <span class="sourceLineNo">127</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    // 27, 1<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    public void setFormat(String format)<a name="line.129"></a>
+<span class="sourceLineNo">128</span>    // 29, 1<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      // 27, 1<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      m_format = format;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      m_format__IsNotDefault = true;<a name="line.133"></a>
+<span class="sourceLineNo">131</span>      // 29, 1<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      m_assignmentManager = assignmentManager;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      m_assignmentManager__IsNotDefault = true;<a name="line.133"></a>
 <span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public String getFormat()<a name="line.135"></a>
+<span class="sourceLineNo">135</span>    public AssignmentManager getAssignmentManager()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_format;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_assignmentManager;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private String m_format;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    public boolean getFormat__IsNotDefault()<a name="line.140"></a>
+<span class="sourceLineNo">139</span>    private AssignmentManager m_assignmentManager;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.140"></a>
 <span class="sourceLineNo">141</span>    {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return m_format__IsNotDefault;<a name="line.142"></a>
+<span class="sourceLineNo">142</span>      return m_assignmentManager__IsNotDefault;<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    private boolean m_format__IsNotDefault;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    // 26, 1<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    public void setFilter(String filter)<a name="line.146"></a>
+<span class="sourceLineNo">144</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // 21, 1<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.146"></a>
 <span class="sourceLineNo">147</span>    {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // 26, 1<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      m_filter = filter;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      m_filter__IsNotDefault = true;<a name="line.150"></a>
+<span class="sourceLineNo">148</span>      // 21, 1<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      m_frags = frags;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      m_frags__IsNotDefault = true;<a name="line.150"></a>
 <span class="sourceLineNo">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public String getFilter()<a name="line.152"></a>
+<span class="sourceLineNo">152</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      return m_filter;<a name="line.154"></a>
+<span class="sourceLineNo">154</span>      return m_frags;<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    private String m_filter;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    public boolean getFilter__IsNotDefault()<a name="line.157"></a>
+<span class="sourceLineNo">156</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    public boolean getFrags__IsNotDefault()<a name="line.157"></a>
 <span class="sourceLineNo">158</span>    {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      return m_filter__IsNotDefault;<a name="line.159"></a>
+<span class="sourceLineNo">159</span>      return m_frags__IsNotDefault;<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    private boolean m_filter__IsNotDefault;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    // 28, 1<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    public void setServerManager(ServerManager serverManager)<a name="line.163"></a>
+<span class="sourceLineNo">161</span>    private boolean m_frags__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    // 27, 1<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    public void setFormat(String format)<a name="line.163"></a>
 <span class="sourceLineNo">164</span>    {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      // 28, 1<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      m_serverManager = serverManager;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      m_serverManager__IsNotDefault = true;<a name="line.167"></a>
+<span class="sourceLineNo">165</span>      // 27, 1<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      m_format = format;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      m_format__IsNotDefault = true;<a name="line.167"></a>
 <span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    public ServerManager getServerManager()<a name="line.169"></a>
+<span class="sourceLineNo">169</span>    public String getFormat()<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      return m_serverManager;<a name="line.171"></a>
+<span class="sourceLineNo">171</span>      return m_format;<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    }<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    private ServerManager m_serverManager;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    public boolean getServerManager__IsNotDefault()<a name="line.174"></a>
+<span class="sourceLineNo">173</span>    private String m_format;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    public boolean getFormat__IsNotDefault()<a name="line.174"></a>
 <span class="sourceLineNo">175</span>    {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      return m_serverManager__IsNotDefault;<a name="line.176"></a>
+<span class="sourceLineNo">176</span>      return m_format__IsNotDefault;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    private boolean m_serverManager__IsNotDefault;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    // 21, 1<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.180"></a>
+<span class="sourceLineNo">178</span>    private boolean m_format__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    // 25, 1<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.180"></a>
 <span class="sourceLineNo">181</span>    {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      // 21, 1<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      m_frags = frags;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      m_frags__IsNotDefault = true;<a name="line.184"></a>
+<span class="sourceLineNo">182</span>      // 25, 1<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.184"></a>
 <span class="sourceLineNo">185</span>    }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.186"></a>
+<span class="sourceLineNo">186</span>    public boolean getCatalogJanitorEnabled()<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return m_frags;<a name="line.188"></a>
+<span class="sourceLineNo">188</span>      return m_catalogJanitorEnabled;<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public boolean getFrags__IsNotDefault()<a name="line.191"></a>
+<span class="sourceLineNo">190</span>    private boolean m_catalogJanitorEnabled;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.191"></a>
 <span class="sourceLineNo">192</span>    {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return m_frags__IsNotDefault;<a name="line.193"></a>
+<span class="sourceLineNo">193</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    private boolean m_frags__IsNotDefault;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    // 29, 1<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.197"></a>
+<span class="sourceLineNo">195</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    // 23, 1<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.197"></a>
 <span class="sourceLineNo">198</span>    {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      // 29, 1<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      m_assignmentManager = assignmentManager;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      m_assignmentManager__IsNotDefault = true;<a name="line.201"></a>
+<span class="sourceLineNo">199</span>      // 23, 1<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      m_servers = servers;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      m_servers__IsNotDefault = true;<a name="line.201"></a>
 <span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public AssignmentManager getAssignmentManager()<a name="line.203"></a>
+<span class="sourceLineNo">203</span>    public List&lt;ServerName&gt; getServers()<a name="line.203"></a>
 <span class="sourceLineNo">204</span>    {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return m_assignmentManager;<a name="line.205"></a>
+<span class="sourceLineNo">205</span>      return m_servers;<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    }<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    private AssignmentManager m_assignmentManager;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.208"></a>
+<span class="sourceLineNo">207</span>    private List&lt;ServerName&gt; m_servers;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    public boolean getServers__IsNotDefault()<a name="line.208"></a>
 <span class="sourceLineNo">209</span>    {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      return m_assignmentManager__IsNotDefault;<a name="line.210"></a>
+<span class="sourceLineNo">210</span>      return m_servers__IsNotDefault;<a name="line.210"></a>
 <span class="sourceLineNo">211</span>    }<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // 25, 1<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.214"></a>
+<span class="sourceLineNo">212</span>    private boolean m_servers__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    // 26, 1<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    public void setFilter(String filter)<a name="line.214"></a>
 <span class="sourceLineNo">215</span>    {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      // 25, 1<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.218"></a>
+<span class="sourceLineNo">216</span>      // 26, 1<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      m_filter = filter;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      m_filter__IsNotDefault = true;<a name="line.218"></a>
 <span class="sourceLineNo">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    public boolean getCatalogJanitorEnabled()<a name="line.220"></a>
+<span class="sourceLineNo">220</span>    public String getFilter()<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return m_catalogJanitorEnabled;<a name="line.222"></a>
+<span class="sourceLineNo">222</span>      return m_filter;<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    private boolean m_catalogJanitorEnabled;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.225"></a>
+<span class="sourceLineNo">224</span>    private String m_filter;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    public boolean getFilter__IsNotDefault()<a name="line.225"></a>
 <span class="sourceLineNo">226</span>    {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.227"></a>
+<span class="sourceLineNo">227</span>      return m_filter__IsNotDefault;<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>    private boolean m_filter__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    // 24, 1<a name="line.230"></a>
 <span class="sourceLineNo">231</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.231"></a>
 <span class="sourceLineNo">232</span>    {<a name="line.232"></a>
@@ -252,23 +252,23 @@
 <span class="sourceLineNo">244</span>      return m_deadServers__IsNotDefault;<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    }<a name="line.245"></a>
 <span class="sourceLineNo">246</span>    private boolean m_deadServers__IsNotDefault;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // 23, 1<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.248"></a>
+<span class="sourceLineNo">247</span>    // 28, 1<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    public void setServerManager(ServerManager serverManager)<a name="line.248"></a>
 <span class="sourceLineNo">249</span>    {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      // 23, 1<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      m_servers = servers;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      m_servers__IsNotDefault = true;<a name="line.252"></a>
+<span class="sourceLineNo">250</span>      // 28, 1<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      m_serverManager = serverManager;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      m_serverManager__IsNotDefault = true;<a name="line.252"></a>
 <span class="sourceLineNo">253</span>    }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    public List&lt;ServerName&gt; getServers()<a name="line.254"></a>
+<span class="sourceLineNo">254</span>    public ServerManager getServerManager()<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      return m_servers;<a name="line.256"></a>
+<span class="sourceLineNo">256</span>      return m_serverManager;<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    private List&lt;ServerName&gt; m_servers;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    public boolean getServers__IsNotDefault()<a name="line.259"></a>
+<span class="sourceLineNo">258</span>    private ServerManager m_serverManager;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    public boolean getServerManager__IsNotDefault()<a name="line.259"></a>
 <span class="sourceLineNo">260</span>    {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      return m_servers__IsNotDefault;<a name="line.261"></a>
+<span class="sourceLineNo">261</span>      return m_serverManager__IsNotDefault;<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private boolean m_servers__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>    private boolean m_serverManager__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>  }<a name="line.264"></a>
 <span class="sourceLineNo">265</span>  @Override<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.266"></a>
@@ -287,45 +287,45 @@
 <span class="sourceLineNo">279</span>    return this;<a name="line.279"></a>
 <span class="sourceLineNo">280</span>  }<a name="line.280"></a>
 <span class="sourceLineNo">281</span>  <a name="line.281"></a>
-<span class="sourceLineNo">282</span>  protected String format;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.283"></a>
+<span class="sourceLineNo">282</span>  protected AssignmentManager assignmentManager;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.283"></a>
 <span class="sourceLineNo">284</span>  {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    (getImplData()).setFormat(p_format);<a name="line.285"></a>
+<span class="sourceLineNo">285</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.285"></a>
 <span class="sourceLineNo">286</span>    return this;<a name="line.286"></a>
 <span class="sourceLineNo">287</span>  }<a name="line.287"></a>
 <span class="sourceLineNo">288</span>  <a name="line.288"></a>
-<span class="sourceLineNo">289</span>  protected String filter;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.290"></a>
+<span class="sourceLineNo">289</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.290"></a>
 <span class="sourceLineNo">291</span>  {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    (getImplData()).setFilter(p_filter);<a name="line.292"></a>
+<span class="sourceLineNo">292</span>    (getImplData()).setFrags(p_frags);<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    return this;<a name="line.293"></a>
 <span class="sourceLineNo">294</span>  }<a name="line.294"></a>
 <span class="sourceLineNo">295</span>  <a name="line.295"></a>
-<span class="sourceLineNo">296</span>  protected ServerManager serverManager;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.297"></a>
+<span class="sourceLineNo">296</span>  protected String format;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.297"></a>
 <span class="sourceLineNo">298</span>  {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.299"></a>
+<span class="sourceLineNo">299</span>    (getImplData()).setFormat(p_format);<a name="line.299"></a>
 <span class="sourceLineNo">300</span>    return this;<a name="line.300"></a>
 <span class="sourceLineNo">301</span>  }<a name="line.301"></a>
 <span class="sourceLineNo">302</span>  <a name="line.302"></a>
-<span class="sourceLineNo">303</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.304"></a>
+<span class="sourceLineNo">303</span>  protected boolean catalogJanitorEnabled;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.304"></a>
 <span class="sourceLineNo">305</span>  {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    (getImplData()).setFrags(p_frags);<a name="line.306"></a>
+<span class="sourceLineNo">306</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.306"></a>
 <span class="sourceLineNo">307</span>    return this;<a name="line.307"></a>
 <span class="sourceLineNo">308</span>  }<a name="line.308"></a>
 <span class="sourceLineNo">309</span>  <a name="line.309"></a>
-<span class="sourceLineNo">310</span>  protected AssignmentManager assignmentManager;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.311"></a>
+<span class="sourceLineNo">310</span>  protected List&lt;ServerName&gt; servers;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.311"></a>
 <span class="sourceLineNo">312</span>  {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.313"></a>
+<span class="sourceLineNo">313</span>    (getImplData()).setServers(p_servers);<a name="line.313"></a>
 <span class="sourceLineNo">314</span>    return this;<a name="line.314"></a>
 <span class="sourceLineNo">315</span>  }<a name="line.315"></a>
 <span class="sourceLineNo">316</span>  <a name="line.316"></a>
-<span class="sourceLineNo">317</span>  protected boolean catalogJanitorEnabled;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.318"></a>
+<span class="sourceLineNo">317</span>  protected String filter;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.318"></a>
 <span class="sourceLineNo">319</span>  {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.320"></a>
+<span class="sourceLineNo">320</span>    (getImplData()).setFilter(p_filter);<a name="line.320"></a>
 <span class="sourceLineNo">321</span>    return this;<a name="line.321"></a>
 <span class="sourceLineNo">322</span>  }<a name="line.322"></a>
 <span class="sourceLineNo">323</span>  <a name="line.323"></a>
@@ -336,10 +336,10 @@
 <span class="sourceLineNo">328</span>    return this;<a name="line.328"></a>
 <span class="sourceLineNo">329</span>  }<a name="line.329"></a>
 <span class="sourceLineNo">330</span>  <a name="line.330"></a>
-<span class="sourceLineNo">331</span>  protected List&lt;ServerName&gt; servers;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.332"></a>
+<span class="sourceLineNo">331</span>  protected ServerManager serverManager;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.332"></a>
 <span class="sourceLineNo">333</span>  {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    (getImplData()).setServers(p_servers);<a name="line.334"></a>
+<span class="sourceLineNo">334</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.334"></a>
 <span class="sourceLineNo">335</span>    return this;<a name="line.335"></a>
 <span class="sourceLineNo">336</span>  }<a name="line.336"></a>
 <span class="sourceLineNo">337</span>  <a name="line.337"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
index d8b7655..385118d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -68,14 +68,14 @@
 <span class="sourceLineNo">060</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  optionalArguments = {<a name="line.61"></a>
 <span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.68"></a>
+<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.68"></a>
 <span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;")})<a name="line.70"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager")})<a name="line.70"></a>
 <span class="sourceLineNo">071</span>public class MasterStatusTmpl<a name="line.71"></a>
 <span class="sourceLineNo">072</span>  extends org.jamon.AbstractTemplateProxy<a name="line.72"></a>
 <span class="sourceLineNo">073</span>{<a name="line.73"></a>
@@ -133,108 +133,108 @@
 <span class="sourceLineNo">125</span>      return m_metaLocation__IsNotDefault;<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    }<a name="line.126"></a>
 <span class="sourceLineNo">127</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    // 27, 1<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    public void setFormat(String format)<a name="line.129"></a>
+<span class="sourceLineNo">128</span>    // 29, 1<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      // 27, 1<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      m_format = format;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      m_format__IsNotDefault = true;<a name="line.133"></a>
+<span class="sourceLineNo">131</span>      // 29, 1<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      m_assignmentManager = assignmentManager;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      m_assignmentManager__IsNotDefault = true;<a name="line.133"></a>
 <span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public String getFormat()<a name="line.135"></a>
+<span class="sourceLineNo">135</span>    public AssignmentManager getAssignmentManager()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_format;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_assignmentManager;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private String m_format;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    public boolean getFormat__IsNotDefault()<a name="line.140"></a>
+<span class="sourceLineNo">139</span>    private AssignmentManager m_assignmentManager;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.140"></a>
 <span class="sourceLineNo">141</span>    {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return m_format__IsNotDefault;<a name="line.142"></a>
+<span class="sourceLineNo">142</span>      return m_assignmentManager__IsNotDefault;<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    private boolean m_format__IsNotDefault;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    // 26, 1<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    public void setFilter(String filter)<a name="line.146"></a>
+<span class="sourceLineNo">144</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // 21, 1<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.146"></a>
 <span class="sourceLineNo">147</span>    {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // 26, 1<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      m_filter = filter;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      m_filter__IsNotDefault = true;<a name="line.150"></a>
+<span class="sourceLineNo">148</span>      // 21, 1<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      m_frags = frags;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      m_frags__IsNotDefault = true;<a name="line.150"></a>
 <span class="sourceLineNo">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public String getFilter()<a name="line.152"></a>
+<span class="sourceLineNo">152</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      return m_filter;<a name="line.154"></a>
+<span class="sourceLineNo">154</span>      return m_frags;<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    private String m_filter;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    public boolean getFilter__IsNotDefault()<a name="line.157"></a>
+<span class="sourceLineNo">156</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    public boolean getFrags__IsNotDefault()<a name="line.157"></a>
 <span class="sourceLineNo">158</span>    {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      return m_filter__IsNotDefault;<a name="line.159"></a>
+<span class="sourceLineNo">159</span>      return m_frags__IsNotDefault;<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    private boolean m_filter__IsNotDefault;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    // 28, 1<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    public void setServerManager(ServerManager serverManager)<a name="line.163"></a>
+<span class="sourceLineNo">161</span>    private boolean m_frags__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    // 27, 1<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    public void setFormat(String format)<a name="line.163"></a>
 <span class="sourceLineNo">164</span>    {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      // 28, 1<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      m_serverManager = serverManager;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      m_serverManager__IsNotDefault = true;<a name="line.167"></a>
+<span class="sourceLineNo">165</span>      // 27, 1<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      m_format = format;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      m_format__IsNotDefault = true;<a name="line.167"></a>
 <span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    public ServerManager getServerManager()<a name="line.169"></a>
+<span class="sourceLineNo">169</span>    public String getFormat()<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      return m_serverManager;<a name="line.171"></a>
+<span class="sourceLineNo">171</span>      return m_format;<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    }<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    private ServerManager m_serverManager;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    public boolean getServerManager__IsNotDefault()<a name="line.174"></a>
+<span class="sourceLineNo">173</span>    private String m_format;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    public boolean getFormat__IsNotDefault()<a name="line.174"></a>
 <span class="sourceLineNo">175</span>    {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      return m_serverManager__IsNotDefault;<a name="line.176"></a>
+<span class="sourceLineNo">176</span>      return m_format__IsNotDefault;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    private boolean m_serverManager__IsNotDefault;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    // 21, 1<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.180"></a>
+<span class="sourceLineNo">178</span>    private boolean m_format__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    // 25, 1<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.180"></a>
 <span class="sourceLineNo">181</span>    {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      // 21, 1<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      m_frags = frags;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      m_frags__IsNotDefault = true;<a name="line.184"></a>
+<span class="sourceLineNo">182</span>      // 25, 1<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.184"></a>
 <span class="sourceLineNo">185</span>    }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.186"></a>
+<span class="sourceLineNo">186</span>    public boolean getCatalogJanitorEnabled()<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return m_frags;<a name="line.188"></a>
+<span class="sourceLineNo">188</span>      return m_catalogJanitorEnabled;<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public boolean getFrags__IsNotDefault()<a name="line.191"></a>
+<span class="sourceLineNo">190</span>    private boolean m_catalogJanitorEnabled;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.191"></a>
 <span class="sourceLineNo">192</span>    {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return m_frags__IsNotDefault;<a name="line.193"></a>
+<span class="sourceLineNo">193</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    private boolean m_frags__IsNotDefault;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    // 29, 1<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.197"></a>
+<span class="sourceLineNo">195</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    // 23, 1<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.197"></a>
 <span class="sourceLineNo">198</span>    {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      // 29, 1<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      m_assignmentManager = assignmentManager;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      m_assignmentManager__IsNotDefault = true;<a name="line.201"></a>
+<span class="sourceLineNo">199</span>      // 23, 1<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      m_servers = servers;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      m_servers__IsNotDefault = true;<a name="line.201"></a>
 <span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public AssignmentManager getAssignmentManager()<a name="line.203"></a>
+<span class="sourceLineNo">203</span>    public List&lt;ServerName&gt; getServers()<a name="line.203"></a>
 <span class="sourceLineNo">204</span>    {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return m_assignmentManager;<a name="line.205"></a>
+<span class="sourceLineNo">205</span>      return m_servers;<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    }<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    private AssignmentManager m_assignmentManager;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.208"></a>
+<span class="sourceLineNo">207</span>    private List&lt;ServerName&gt; m_servers;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    public boolean getServers__IsNotDefault()<a name="line.208"></a>
 <span class="sourceLineNo">209</span>    {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      return m_assignmentManager__IsNotDefault;<a name="line.210"></a>
+<span class="sourceLineNo">210</span>      return m_servers__IsNotDefault;<a name="line.210"></a>
 <span class="sourceLineNo">211</span>    }<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // 25, 1<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.214"></a>
+<span class="sourceLineNo">212</span>    private boolean m_servers__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    // 26, 1<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    public void setFilter(String filter)<a name="line.214"></a>
 <span class="sourceLineNo">215</span>    {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      // 25, 1<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.218"></a>
+<span class="sourceLineNo">216</span>      // 26, 1<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      m_filter = filter;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      m_filter__IsNotDefault = true;<a name="line.218"></a>
 <span class="sourceLineNo">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    public boolean getCatalogJanitorEnabled()<a name="line.220"></a>
+<span class="sourceLineNo">220</span>    public String getFilter()<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return m_catalogJanitorEnabled;<a name="line.222"></a>
+<span class="sourceLineNo">222</span>      return m_filter;<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    private boolean m_catalogJanitorEnabled;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.225"></a>
+<span class="sourceLineNo">224</span>    private String m_filter;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    public boolean getFilter__IsNotDefault()<a name="line.225"></a>
 <span class="sourceLineNo">226</span>    {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.227"></a>
+<span class="sourceLineNo">227</span>      return m_filter__IsNotDefault;<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>    private boolean m_filter__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    // 24, 1<a name="line.230"></a>
 <span class="sourceLineNo">231</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.231"></a>
 <span class="sourceLineNo">232</span>    {<a name="line.232"></a>
@@ -252,23 +252,23 @@
 <span class="sourceLineNo">244</span>      return m_deadServers__IsNotDefault;<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    }<a name="line.245"></a>
 <span class="sourceLineNo">246</span>    private boolean m_deadServers__IsNotDefault;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // 23, 1<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.248"></a>
+<span class="sourceLineNo">247</span>    // 28, 1<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    public void setServerManager(ServerManager serverManager)<a name="line.248"></a>
 <span class="sourceLineNo">249</span>    {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      // 23, 1<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      m_servers = servers;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      m_servers__IsNotDefault = true;<a name="line.252"></a>
+<span class="sourceLineNo">250</span>      // 28, 1<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      m_serverManager = serverManager;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      m_serverManager__IsNotDefault = true;<a name="line.252"></a>
 <span class="sourceLineNo">253</span>    }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    public List&lt;ServerName&gt; getServers()<a name="line.254"></a>
+<span class="sourceLineNo">254</span>    public ServerManager getServerManager()<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      return m_servers;<a name="line.256"></a>
+<span class="sourceLineNo">256</span>      return m_serverManager;<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    private List&lt;ServerName&gt; m_servers;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    public boolean getServers__IsNotDefault()<a name="line.259"></a>
+<span class="sourceLineNo">258</span>    private ServerManager m_serverManager;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    public boolean getServerManager__IsNotDefault()<a name="line.259"></a>
 <span class="sourceLineNo">260</span>    {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      return m_servers__IsNotDefault;<a name="line.261"></a>
+<span class="sourceLineNo">261</span>      return m_serverManager__IsNotDefault;<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private boolean m_servers__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>    private boolean m_serverManager__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>  }<a name="line.264"></a>
 <span class="sourceLineNo">265</span>  @Override<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.266"></a>
@@ -287,45 +287,45 @@
 <span class="sourceLineNo">279</span>    return this;<a name="line.279"></a>
 <span class="sourceLineNo">280</span>  }<a name="line.280"></a>
 <span class="sourceLineNo">281</span>  <a name="line.281"></a>
-<span class="sourceLineNo">282</span>  protected String format;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.283"></a>
+<span class="sourceLineNo">282</span>  protected AssignmentManager assignmentManager;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.283"></a>
 <span class="sourceLineNo">284</span>  {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    (getImplData()).setFormat(p_format);<a name="line.285"></a>
+<span class="sourceLineNo">285</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.285"></a>
 <span class="sourceLineNo">286</span>    return this;<a name="line.286"></a>
 <span class="sourceLineNo">287</span>  }<a name="line.287"></a>
 <span class="sourceLineNo">288</span>  <a name="line.288"></a>
-<span class="sourceLineNo">289</span>  protected String filter;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.290"></a>
+<span class="sourceLineNo">289</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.290"></a>
 <span class="sourceLineNo">291</span>  {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    (getImplData()).setFilter(p_filter);<a name="line.292"></a>
+<span class="sourceLineNo">292</span>    (getImplData()).setFrags(p_frags);<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    return this;<a name="line.293"></a>
 <span class="sourceLineNo">294</span>  }<a name="line.294"></a>
 <span class="sourceLineNo">295</span>  <a name="line.295"></a>
-<span class="sourceLineNo">296</span>  protected ServerManager serverManager;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.297"></a>
+<span class="sourceLineNo">296</span>  protected String format;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.297"></a>
 <span class="sourceLineNo">298</span>  {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.299"></a>
+<span class="sourceLineNo">299</span>    (getImplData()).setFormat(p_format);<a name="line.299"></a>
 <span class="sourceLineNo">300</span>    return this;<a name="line.300"></a>
 <span class="sourceLineNo">301</span>  }<a name="line.301"></a>
 <span class="sourceLineNo">302</span>  <a name="line.302"></a>
-<span class="sourceLineNo">303</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.304"></a>
+<span class="sourceLineNo">303</span>  protected boolean catalogJanitorEnabled;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.304"></a>
 <span class="sourceLineNo">305</span>  {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    (getImplData()).setFrags(p_frags);<a name="line.306"></a>
+<span class="sourceLineNo">306</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.306"></a>
 <span class="sourceLineNo">307</span>    return this;<a name="line.307"></a>
 <span class="sourceLineNo">308</span>  }<a name="line.308"></a>
 <span class="sourceLineNo">309</span>  <a name="line.309"></a>
-<span class="sourceLineNo">310</span>  protected AssignmentManager assignmentManager;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.311"></a>
+<span class="sourceLineNo">310</span>  protected List&lt;ServerName&gt; servers;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.311"></a>
 <span class="sourceLineNo">312</span>  {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.313"></a>
+<span class="sourceLineNo">313</span>    (getImplData()).setServers(p_servers);<a name="line.313"></a>
 <span class="sourceLineNo">314</span>    return this;<a name="line.314"></a>
 <span class="sourceLineNo">315</span>  }<a name="line.315"></a>
 <span class="sourceLineNo">316</span>  <a name="line.316"></a>
-<span class="sourceLineNo">317</span>  protected boolean catalogJanitorEnabled;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.318"></a>
+<span class="sourceLineNo">317</span>  protected String filter;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.318"></a>
 <span class="sourceLineNo">319</span>  {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.320"></a>
+<span class="sourceLineNo">320</span>    (getImplData()).setFilter(p_filter);<a name="line.320"></a>
 <span class="sourceLineNo">321</span>    return this;<a name="line.321"></a>
 <span class="sourceLineNo">322</span>  }<a name="line.322"></a>
 <span class="sourceLineNo">323</span>  <a name="line.323"></a>
@@ -336,10 +336,10 @@
 <span class="sourceLineNo">328</span>    return this;<a name="line.328"></a>
 <span class="sourceLineNo">329</span>  }<a name="line.329"></a>
 <span class="sourceLineNo">330</span>  <a name="line.330"></a>
-<span class="sourceLineNo">331</span>  protected List&lt;ServerName&gt; servers;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.332"></a>
+<span class="sourceLineNo">331</span>  protected ServerManager serverManager;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.332"></a>
 <span class="sourceLineNo">333</span>  {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    (getImplData()).setServers(p_servers);<a name="line.334"></a>
+<span class="sourceLineNo">334</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.334"></a>
 <span class="sourceLineNo">335</span>    return this;<a name="line.335"></a>
 <span class="sourceLineNo">336</span>  }<a name="line.336"></a>
 <span class="sourceLineNo">337</span>  <a name="line.337"></a>

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


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html
index dc8a4c2..f030bb3 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html
@@ -326,7 +326,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Region
 <ul class="blockList">
 <li class="blockList">
 <h4>__jamon_innerUnit__emptyStat</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html#line.151">__jamon_innerUnit__emptyStat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html#line.155">__jamon_innerUnit__emptyStat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                 <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
                                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -339,7 +339,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Region
 <ul class="blockList">
 <li class="blockList">
 <h4>__jamon_innerUnit__serverNameLink</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html#line.167">__jamon_innerUnit__serverNameLink</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html#line.171">__jamon_innerUnit__serverNameLink</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                      <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                                      <a href="../../../../../../org/apache/hadoop/hbase/ServerLoad.html" title="class in org.apache.hadoop.hbase">ServerLoad</a>&nbsp;serverLoad)
                                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -353,7 +353,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Region
 <ul class="blockList">
 <li class="blockList">
 <h4>__jamon_innerUnit__memoryStats</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html#line.205">__jamon_innerUnit__memoryStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html#line.209">__jamon_innerUnit__memoryStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                   <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>[]&nbsp;serverNames)
                                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -366,7 +366,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Region
 <ul class="blockList">
 <li class="blockList">
 <h4>__jamon_innerUnit__baseStats</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html#line.260">__jamon_innerUnit__baseStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html#line.264">__jamon_innerUnit__baseStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                 <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>[]&nbsp;serverNames)
                                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -379,7 +379,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Region
 <ul class="blockList">
 <li class="blockList">
 <h4>__jamon_innerUnit__compactionStats</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html#line.356">__jamon_innerUnit__compactionStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html#line.360">__jamon_innerUnit__compactionStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                       <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>[]&nbsp;serverNames)
                                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -392,7 +392,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Region
 <ul class="blockListLast">
 <li class="blockList">
 <h4>__jamon_innerUnit__storeStats</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html#line.420">__jamon_innerUnit__storeStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html#line.424">__jamon_innerUnit__storeStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                  <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>[]&nbsp;serverNames)
                                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>

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

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html
index 81f9f12..3ed24ed 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html
@@ -315,7 +315,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>__jamon_innerUnit__memstoreStats</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html#line.160">__jamon_innerUnit__memstoreStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html#line.164">__jamon_innerUnit__memstoreStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                     <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;onlineRegions)
                                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -328,7 +328,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>__jamon_innerUnit__compactStats</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html#line.205">__jamon_innerUnit__compactStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html#line.209">__jamon_innerUnit__compactStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;onlineRegions)
                                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -341,7 +341,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>__jamon_innerUnit__baseInfo</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html#line.263">__jamon_innerUnit__baseInfo</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html#line.267">__jamon_innerUnit__baseInfo</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;onlineRegions)
                                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -354,7 +354,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>__jamon_innerUnit__storeStats</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html#line.309">__jamon_innerUnit__storeStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html#line.313">__jamon_innerUnit__storeStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                  <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;onlineRegions)
                                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html
index 15684b4..d8622c8 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html
@@ -321,7 +321,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>__jamon_innerUnit__queueStats</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html#line.127">__jamon_innerUnit__queueStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html#line.131">__jamon_innerUnit__queueStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                  <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a>&nbsp;mWrap,
                                  <a href="../../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapper.html" title="interface in org.apache.hadoop.hbase.ipc">MetricsHBaseServerWrapper</a>&nbsp;mServerWrap)
                                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -335,7 +335,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>__jamon_innerUnit__memoryStats</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html#line.149">__jamon_innerUnit__memoryStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html#line.153">__jamon_innerUnit__memoryStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                   <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a>&nbsp;mWrap)
                                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -348,7 +348,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>__jamon_innerUnit__baseStats</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html#line.178">__jamon_innerUnit__baseStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html#line.182">__jamon_innerUnit__baseStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                 <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a>&nbsp;mWrap)
                                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -361,7 +361,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>__jamon_innerUnit__walStats</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html#line.207">__jamon_innerUnit__walStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html#line.211">__jamon_innerUnit__walStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a>&nbsp;mWrap)
                                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -374,7 +374,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>__jamon_innerUnit__storeStats</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html#line.224">__jamon_innerUnit__storeStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.html#line.228">__jamon_innerUnit__storeStats</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;jamonWriter,
                                  <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a>&nbsp;mWrap)
                                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/util/class-use/Counter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/class-use/Counter.html b/devapidocs/org/apache/hadoop/hbase/util/class-use/Counter.html
index 1e54d1d..c8c536e 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/class-use/Counter.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/class-use/Counter.html
@@ -142,21 +142,25 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a></code></td>
-<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#numMutationsWithoutWAL">numMutationsWithoutWAL</a></strong></code>&nbsp;</td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#filteredReadRequestsCount">filteredReadRequestsCount</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a></code></td>
-<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#readRequestsCount">readRequestsCount</a></strong></code>&nbsp;</td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#numMutationsWithoutWAL">numMutationsWithoutWAL</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a></code></td>
-<td class="colLast"><span class="strong">RSRpcServices.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#requestCount">requestCount</a></strong></code>&nbsp;</td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#readRequestsCount">readRequestsCount</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a></code></td>
+<td class="colLast"><span class="strong">RSRpcServices.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#requestCount">requestCount</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a></code></td>
 <td class="colLast"><span class="strong">MemStoreFlusher.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MemStoreFlusher.html#updatesBlockedMsHighWater">updatesBlockedMsHighWater</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a></code></td>
 <td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#writeRequestsCount">writeRequestsCount</a></strong></code>&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
index 6d79a9c..aa52ab2 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -461,13 +461,13 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">ChecksumType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">PoolMap.PoolType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">ChecksumType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">PrettyPrinter.Unit</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">Order</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index 1f810f3..2cda76d 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -148,9 +148,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">RegionGroupingProvider.Strategies</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">WALKey.Version</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">WALFactory.Providers</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">RegionGroupingProvider.Strategies</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/RegionLoad.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/RegionLoad.html b/devapidocs/src-html/org/apache/hadoop/hbase/RegionLoad.html
index 4b82405..9dea220 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/RegionLoad.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/RegionLoad.html
@@ -114,139 +114,146 @@
 <span class="sourceLineNo">106</span>  }<a name="line.106"></a>
 <span class="sourceLineNo">107</span><a name="line.107"></a>
 <span class="sourceLineNo">108</span>  /**<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * @return the number of write requests made to region<a name="line.109"></a>
+<span class="sourceLineNo">109</span>   * @return the number of filtered read requests made to region<a name="line.109"></a>
 <span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  public long getWriteRequestsCount() {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    return regionLoadPB.getWriteRequestsCount();<a name="line.112"></a>
+<span class="sourceLineNo">111</span>  public long getFilteredReadRequestsCount() {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    return regionLoadPB.getFilteredReadRequestsCount();<a name="line.112"></a>
 <span class="sourceLineNo">113</span>  }<a name="line.113"></a>
 <span class="sourceLineNo">114</span><a name="line.114"></a>
 <span class="sourceLineNo">115</span>  /**<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * @return The current total size of root-level indexes for the region, in KB.<a name="line.116"></a>
+<span class="sourceLineNo">116</span>   * @return the number of write requests made to region<a name="line.116"></a>
 <span class="sourceLineNo">117</span>   */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  public int getRootIndexSizeKB() {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    return regionLoadPB.getRootIndexSizeKB();<a name="line.119"></a>
+<span class="sourceLineNo">118</span>  public long getWriteRequestsCount() {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return regionLoadPB.getWriteRequestsCount();<a name="line.119"></a>
 <span class="sourceLineNo">120</span>  }<a name="line.120"></a>
 <span class="sourceLineNo">121</span><a name="line.121"></a>
 <span class="sourceLineNo">122</span>  /**<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * @return The total size of all index blocks, not just the root level, in KB.<a name="line.123"></a>
+<span class="sourceLineNo">123</span>   * @return The current total size of root-level indexes for the region, in KB.<a name="line.123"></a>
 <span class="sourceLineNo">124</span>   */<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public int getTotalStaticIndexSizeKB() {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    return regionLoadPB.getTotalStaticIndexSizeKB();<a name="line.126"></a>
+<span class="sourceLineNo">125</span>  public int getRootIndexSizeKB() {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return regionLoadPB.getRootIndexSizeKB();<a name="line.126"></a>
 <span class="sourceLineNo">127</span>  }<a name="line.127"></a>
 <span class="sourceLineNo">128</span><a name="line.128"></a>
 <span class="sourceLineNo">129</span>  /**<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   * @return The total size of all Bloom filter blocks, not just loaded into the<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * block cache, in KB.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   */<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  public int getTotalStaticBloomSizeKB() {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    return regionLoadPB.getTotalStaticBloomSizeKB();<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  /**<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * @return the total number of kvs in current compaction<a name="line.138"></a>
+<span class="sourceLineNo">130</span>   * @return The total size of all index blocks, not just the root level, in KB.<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   */<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public int getTotalStaticIndexSizeKB() {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    return regionLoadPB.getTotalStaticIndexSizeKB();<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>  /**<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * @return The total size of all Bloom filter blocks, not just loaded into the<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * block cache, in KB.<a name="line.138"></a>
 <span class="sourceLineNo">139</span>   */<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  public long getTotalCompactingKVs() {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    return regionLoadPB.getTotalCompactingKVs();<a name="line.141"></a>
+<span class="sourceLineNo">140</span>  public int getTotalStaticBloomSizeKB() {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    return regionLoadPB.getTotalStaticBloomSizeKB();<a name="line.141"></a>
 <span class="sourceLineNo">142</span>  }<a name="line.142"></a>
 <span class="sourceLineNo">143</span><a name="line.143"></a>
 <span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * @return the number of already compacted kvs in current compaction<a name="line.145"></a>
+<span class="sourceLineNo">145</span>   * @return the total number of kvs in current compaction<a name="line.145"></a>
 <span class="sourceLineNo">146</span>   */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  public long getCurrentCompactedKVs() {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    return regionLoadPB.getCurrentCompactedKVs();<a name="line.148"></a>
+<span class="sourceLineNo">147</span>  public long getTotalCompactingKVs() {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    return regionLoadPB.getTotalCompactingKVs();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span><a name="line.150"></a>
 <span class="sourceLineNo">151</span>  /**<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * This does not really belong inside RegionLoad but its being done in the name of expediency.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @return the completed sequence Id for the region<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  public long getCompleteSequenceId() {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    return regionLoadPB.getCompleteSequenceId();<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  /**<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * @return completed sequence id per store.<a name="line.160"></a>
+<span class="sourceLineNo">152</span>   * @return the number of already compacted kvs in current compaction<a name="line.152"></a>
+<span class="sourceLineNo">153</span>   */<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  public long getCurrentCompactedKVs() {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    return regionLoadPB.getCurrentCompactedKVs();<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * This does not really belong inside RegionLoad but its being done in the name of expediency.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * @return the completed sequence Id for the region<a name="line.160"></a>
 <span class="sourceLineNo">161</span>   */<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public List&lt;StoreSequenceId&gt; getStoreCompleteSequenceId() {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    return regionLoadPB.getStoreCompleteSequenceIdList();<a name="line.163"></a>
+<span class="sourceLineNo">162</span>  public long getCompleteSequenceId() {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return regionLoadPB.getCompleteSequenceId();<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  }<a name="line.164"></a>
 <span class="sourceLineNo">165</span><a name="line.165"></a>
 <span class="sourceLineNo">166</span>  /**<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * @return the uncompressed size of the storefiles in MB.<a name="line.167"></a>
+<span class="sourceLineNo">167</span>   * @return completed sequence id per store.<a name="line.167"></a>
 <span class="sourceLineNo">168</span>   */<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  public int getStoreUncompressedSizeMB() {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    return regionLoadPB.getStoreUncompressedSizeMB();<a name="line.170"></a>
+<span class="sourceLineNo">169</span>  public List&lt;StoreSequenceId&gt; getStoreCompleteSequenceId() {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    return regionLoadPB.getStoreCompleteSequenceIdList();<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  }<a name="line.171"></a>
 <span class="sourceLineNo">172</span><a name="line.172"></a>
 <span class="sourceLineNo">173</span>  /**<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * @return the data locality of region in the regionserver.<a name="line.174"></a>
+<span class="sourceLineNo">174</span>   * @return the uncompressed size of the storefiles in MB.<a name="line.174"></a>
 <span class="sourceLineNo">175</span>   */<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  public float getDataLocality() {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    if (regionLoadPB.hasDataLocality()) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return regionLoadPB.getDataLocality();<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return 0.0f;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  /**<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   * @return the timestamp of the oldest hfile for any store of this region.<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   */<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  public long getLastMajorCompactionTs() {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    return regionLoadPB.getLastMajorCompactionTs();<a name="line.187"></a>
+<span class="sourceLineNo">176</span>  public int getStoreUncompressedSizeMB() {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    return regionLoadPB.getStoreUncompressedSizeMB();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
+<span class="sourceLineNo">179</span><a name="line.179"></a>
+<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * @return the data locality of region in the regionserver.<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   */<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  public float getDataLocality() {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    if (regionLoadPB.hasDataLocality()) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      return regionLoadPB.getDataLocality();<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    }<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    return 0.0f;<a name="line.187"></a>
 <span class="sourceLineNo">188</span>  }<a name="line.188"></a>
 <span class="sourceLineNo">189</span><a name="line.189"></a>
 <span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
-<span class="sourceLineNo">191</span>   * @see java.lang.Object#toString()<a name="line.191"></a>
+<span class="sourceLineNo">191</span>   * @return the timestamp of the oldest hfile for any store of this region.<a name="line.191"></a>
 <span class="sourceLineNo">192</span>   */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  @Override<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  public String toString() {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    StringBuilder sb = Strings.appendKeyValue(new StringBuilder(), "numberOfStores",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        this.getStores());<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    sb = Strings.appendKeyValue(sb, "numberOfStorefiles",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        this.getStorefiles());<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    sb = Strings.appendKeyValue(sb, "storefileUncompressedSizeMB",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      this.getStoreUncompressedSizeMB());<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    sb = Strings.appendKeyValue(sb, "lastMajorCompactionTimestamp",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      this.getLastMajorCompactionTs());<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    sb = Strings.appendKeyValue(sb, "storefileSizeMB",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        this.getStorefileSizeMB());<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    if (this.getStoreUncompressedSizeMB() != 0) {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      sb = Strings.appendKeyValue(sb, "compressionRatio",<a name="line.206"></a>
-<span class="sourceLineNo">207</span>          String.format("%.4f", (float) this.getStorefileSizeMB() /<a name="line.207"></a>
-<span class="sourceLineNo">208</span>              (float) this.getStoreUncompressedSizeMB()));<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    }<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    sb = Strings.appendKeyValue(sb, "memstoreSizeMB",<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        this.getMemStoreSizeMB());<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    sb = Strings.appendKeyValue(sb, "storefileIndexSizeMB",<a name="line.212"></a>
-<span class="sourceLineNo">213</span>        this.getStorefileIndexSizeMB());<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    sb = Strings.appendKeyValue(sb, "readRequestsCount",<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        this.getReadRequestsCount());<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    sb = Strings.appendKeyValue(sb, "writeRequestsCount",<a name="line.216"></a>
-<span class="sourceLineNo">217</span>        this.getWriteRequestsCount());<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    sb = Strings.appendKeyValue(sb, "rootIndexSizeKB",<a name="line.218"></a>
-<span class="sourceLineNo">219</span>        this.getRootIndexSizeKB());<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    sb = Strings.appendKeyValue(sb, "totalStaticIndexSizeKB",<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        this.getTotalStaticIndexSizeKB());<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    sb = Strings.appendKeyValue(sb, "totalStaticBloomSizeKB",<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        this.getTotalStaticBloomSizeKB());<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    sb = Strings.appendKeyValue(sb, "totalCompactingKVs",<a name="line.224"></a>
-<span class="sourceLineNo">225</span>        this.getTotalCompactingKVs());<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    sb = Strings.appendKeyValue(sb, "currentCompactedKVs",<a name="line.226"></a>
-<span class="sourceLineNo">227</span>        this.getCurrentCompactedKVs());<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    float compactionProgressPct = Float.NaN;<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    if (this.getTotalCompactingKVs() &gt; 0) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      compactionProgressPct = ((float) this.getCurrentCompactedKVs() /<a name="line.230"></a>
-<span class="sourceLineNo">231</span>          (float) this.getTotalCompactingKVs());<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    sb = Strings.appendKeyValue(sb, "compactionProgressPct",<a name="line.233"></a>
-<span class="sourceLineNo">234</span>        compactionProgressPct);<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    sb = Strings.appendKeyValue(sb, "completeSequenceId",<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        this.getCompleteSequenceId());<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    sb = Strings.appendKeyValue(sb, "dataLocality",<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        this.getDataLocality());<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    return sb.toString();<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>}<a name="line.241"></a>
+<span class="sourceLineNo">193</span>  public long getLastMajorCompactionTs() {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    return regionLoadPB.getLastMajorCompactionTs();<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  }<a name="line.195"></a>
+<span class="sourceLineNo">196</span><a name="line.196"></a>
+<span class="sourceLineNo">197</span>  /**<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * @see java.lang.Object#toString()<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   */<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  @Override<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  public String toString() {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    StringBuilder sb = Strings.appendKeyValue(new StringBuilder(), "numberOfStores",<a name="line.202"></a>
+<span class="sourceLineNo">203</span>        this.getStores());<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    sb = Strings.appendKeyValue(sb, "numberOfStorefiles",<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        this.getStorefiles());<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    sb = Strings.appendKeyValue(sb, "storefileUncompressedSizeMB",<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      this.getStoreUncompressedSizeMB());<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    sb = Strings.appendKeyValue(sb, "lastMajorCompactionTimestamp",<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      this.getLastMajorCompactionTs());<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    sb = Strings.appendKeyValue(sb, "storefileSizeMB",<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        this.getStorefileSizeMB());<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    if (this.getStoreUncompressedSizeMB() != 0) {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      sb = Strings.appendKeyValue(sb, "compressionRatio",<a name="line.213"></a>
+<span class="sourceLineNo">214</span>          String.format("%.4f", (float) this.getStorefileSizeMB() /<a name="line.214"></a>
+<span class="sourceLineNo">215</span>              (float) this.getStoreUncompressedSizeMB()));<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    sb = Strings.appendKeyValue(sb, "memstoreSizeMB",<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        this.getMemStoreSizeMB());<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    sb = Strings.appendKeyValue(sb, "storefileIndexSizeMB",<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        this.getStorefileIndexSizeMB());<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    sb = Strings.appendKeyValue(sb, "readRequestsCount",<a name="line.221"></a>
+<span class="sourceLineNo">222</span>        this.getReadRequestsCount());<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    sb = Strings.appendKeyValue(sb, "writeRequestsCount",<a name="line.223"></a>
+<span class="sourceLineNo">224</span>        this.getWriteRequestsCount());<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    sb = Strings.appendKeyValue(sb, "rootIndexSizeKB",<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        this.getRootIndexSizeKB());<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    sb = Strings.appendKeyValue(sb, "totalStaticIndexSizeKB",<a name="line.227"></a>
+<span class="sourceLineNo">228</span>        this.getTotalStaticIndexSizeKB());<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    sb = Strings.appendKeyValue(sb, "totalStaticBloomSizeKB",<a name="line.229"></a>
+<span class="sourceLineNo">230</span>        this.getTotalStaticBloomSizeKB());<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    sb = Strings.appendKeyValue(sb, "totalCompactingKVs",<a name="line.231"></a>
+<span class="sourceLineNo">232</span>        this.getTotalCompactingKVs());<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    sb = Strings.appendKeyValue(sb, "currentCompactedKVs",<a name="line.233"></a>
+<span class="sourceLineNo">234</span>        this.getCurrentCompactedKVs());<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    float compactionProgressPct = Float.NaN;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    if (this.getTotalCompactingKVs() &gt; 0) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      compactionProgressPct = ((float) this.getCurrentCompactedKVs() /<a name="line.237"></a>
+<span class="sourceLineNo">238</span>          (float) this.getTotalCompactingKVs());<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    sb = Strings.appendKeyValue(sb, "compactionProgressPct",<a name="line.240"></a>
+<span class="sourceLineNo">241</span>        compactionProgressPct);<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    sb = Strings.appendKeyValue(sb, "completeSequenceId",<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        this.getCompleteSequenceId());<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    sb = Strings.appendKeyValue(sb, "dataLocality",<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        this.getDataLocality());<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    return sb.toString();<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  }<a name="line.247"></a>
+<span class="sourceLineNo">248</span>}<a name="line.248"></a>
 
 
 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html
index 5acbf19..365d061 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html
@@ -193,523 +193,526 @@
 <span class="sourceLineNo">185</span>   */<a name="line.185"></a>
 <span class="sourceLineNo">186</span>  void updateReadRequestsCount(long i);<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  /** @return write request count for this region */<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  long getWriteRequestsCount();<a name="line.189"></a>
+<span class="sourceLineNo">188</span>  /** @return filtered read requests count for this region */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  long getFilteredReadRequestsCount();<a name="line.189"></a>
 <span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  /**<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   * Update the write request count for this region<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @param i increment<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   */<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  void updateWriteRequestsCount(long i);<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  /** @return memstore size for this region, in bytes */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  long getMemstoreSize();<a name="line.198"></a>
+<span class="sourceLineNo">191</span>  /** @return write request count for this region */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  long getWriteRequestsCount();<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  /**<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * Update the write request count for this region<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @param i increment<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  void updateWriteRequestsCount(long i);<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /** @return the number of mutations processed bypassing the WAL */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  long getNumMutationsWithoutWAL();<a name="line.201"></a>
+<span class="sourceLineNo">200</span>  /** @return memstore size for this region, in bytes */<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  long getMemstoreSize();<a name="line.201"></a>
 <span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /** @return the size of data processed bypassing the WAL, in bytes */<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  long getDataInMemoryWithoutWAL();<a name="line.204"></a>
+<span class="sourceLineNo">203</span>  /** @return the number of mutations processed bypassing the WAL */<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  long getNumMutationsWithoutWAL();<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  /** @return the number of blocked requests */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  long getBlockedRequestsCount();<a name="line.207"></a>
+<span class="sourceLineNo">206</span>  /** @return the size of data processed bypassing the WAL, in bytes */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  long getDataInMemoryWithoutWAL();<a name="line.207"></a>
 <span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /** @return the number of checkAndMutate guards that passed */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  long getCheckAndMutateChecksPassed();<a name="line.210"></a>
+<span class="sourceLineNo">209</span>  /** @return the number of blocked requests */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  long getBlockedRequestsCount();<a name="line.210"></a>
 <span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>  /** @return the number of failed checkAndMutate guards */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  long getCheckAndMutateChecksFailed();<a name="line.213"></a>
+<span class="sourceLineNo">212</span>  /** @return the number of checkAndMutate guards that passed */<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  long getCheckAndMutateChecksPassed();<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /** @return the MetricsRegion for this region */<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  MetricsRegion getMetrics();<a name="line.216"></a>
+<span class="sourceLineNo">215</span>  /** @return the number of failed checkAndMutate guards */<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  long getCheckAndMutateChecksFailed();<a name="line.216"></a>
 <span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  /** @return the block distribution for all Stores managed by this region */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  HDFSBlocksDistribution getHDFSBlocksDistribution();<a name="line.219"></a>
+<span class="sourceLineNo">218</span>  /** @return the MetricsRegion for this region */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  MetricsRegion getMetrics();<a name="line.219"></a>
 <span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  // Locking<a name="line.222"></a>
+<span class="sourceLineNo">221</span>  /** @return the block distribution for all Stores managed by this region */<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  HDFSBlocksDistribution getHDFSBlocksDistribution();<a name="line.222"></a>
 <span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>  // Region read locks<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  /**<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * Operation enum is used in {@link Region#startRegionOperation} and elsewhere to provide<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   * context for various checks.<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   */<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  enum Operation {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    ANY, GET, PUT, DELETE, SCAN, APPEND, INCREMENT, SPLIT_REGION, MERGE_REGION, BATCH_MUTATE,<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    REPLAY_BATCH_MUTATE, COMPACT_REGION, REPLAY_EVENT<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * This method needs to be called before any public call that reads or<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * modifies data.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * the operation has completed, whether it succeeded or failed.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @throws IOException<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  void startRegionOperation() throws IOException;<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /**<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * This method needs to be called before any public call that reads or<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * modifies data.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * the operation has completed, whether it succeeded or failed.<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @param op The operation is about to be taken on the region<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @throws IOException<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  void startRegionOperation(Operation op) throws IOException;<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * Closes the region operation lock.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  void closeRegionOperation() throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // Row write locks<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  /**<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   * Row lock held by a given thread.<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * One thread may acquire multiple locks on the same row simultaneously.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   * The locks must be released by calling release() from the same thread.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>   */<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  public interface RowLock {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    /**<a name="line.270"></a>
-<span class="sourceLineNo">271</span>     * Release the given lock.  If there are no remaining locks held by the current thread<a name="line.271"></a>
-<span class="sourceLineNo">272</span>     * then unlock the row and allow other threads to acquire the lock.<a name="line.272"></a>
-<span class="sourceLineNo">273</span>     * @throws IllegalArgumentException if called by a different thread than the lock owning<a name="line.273"></a>
-<span class="sourceLineNo">274</span>     *     thread<a name="line.274"></a>
-<span class="sourceLineNo">275</span>     */<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    void release();<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  }<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * Tries to acquire a lock on the given row.<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @param waitForLock if true, will block until the lock is available.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   *        Otherwise, just tries to obtain the lock and returns<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   *        false if unavailable.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @return the row lock if acquired,<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   *   null if waitForLock was false and the lock was not acquired<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @throws IOException if waitForLock was true and the lock could not be acquired after waiting<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  RowLock getRowLock(byte[] row, boolean waitForLock) throws IOException;<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  /**<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * If the given list of row locks is not null, releases all locks.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  void releaseRowLocks(List&lt;RowLock&gt; rowLocks);<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  // Region operations<a name="line.296"></a>
+<span class="sourceLineNo">224</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  // Locking<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  // Region read locks<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * Operation enum is used in {@link Region#startRegionOperation} and elsewhere to provide<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * context for various checks.<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  enum Operation {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    ANY, GET, PUT, DELETE, SCAN, APPEND, INCREMENT, SPLIT_REGION, MERGE_REGION, BATCH_MUTATE,<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    REPLAY_BATCH_MUTATE, COMPACT_REGION, REPLAY_EVENT<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  /**<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * This method needs to be called before any public call that reads or<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * modifies data.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * the operation has completed, whether it succeeded or failed.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @throws IOException<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   */<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  void startRegionOperation() throws IOException;<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>  /**<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   * This method needs to be called before any public call that reads or<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * modifies data.<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * the operation has completed, whether it succeeded or failed.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @param op The operation is about to be taken on the region<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @throws IOException<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  void startRegionOperation(Operation op) throws IOException;<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>  /**<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * Closes the region operation lock.<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   * @throws IOException<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  void closeRegionOperation() throws IOException;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  // Row write locks<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * Row lock held by a given thread.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * One thread may acquire multiple locks on the same row simultaneously.<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * The locks must be released by calling release() from the same thread.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  public interface RowLock {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    /**<a name="line.273"></a>
+<span class="sourceLineNo">274</span>     * Release the given lock.  If there are no remaining locks held by the current thread<a name="line.274"></a>
+<span class="sourceLineNo">275</span>     * then unlock the row and allow other threads to acquire the lock.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>     * @throws IllegalArgumentException if called by a different thread than the lock owning<a name="line.276"></a>
+<span class="sourceLineNo">277</span>     *     thread<a name="line.277"></a>
+<span class="sourceLineNo">278</span>     */<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    void release();<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Tries to acquire a lock on the given row.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * @param waitForLock if true, will block until the lock is available.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   *        Otherwise, just tries to obtain the lock and returns<a name="line.285"></a>
+<span class="sourceLineNo">286</span>   *        false if unavailable.<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * @return the row lock if acquired,<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   *   null if waitForLock was false and the lock was not acquired<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * @throws IOException if waitForLock was true and the lock could not be acquired after waiting<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  RowLock getRowLock(byte[] row, boolean waitForLock) throws IOException;<a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * If the given list of row locks is not null, releases all locks.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  void releaseRowLocks(List&lt;RowLock&gt; rowLocks);<a name="line.296"></a>
 <span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * Perform one or more append operations on a row.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param append<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @param nonceGroup<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * @param nonce<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @return result of the operation<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @throws IOException<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  Result append(Append append, long nonceGroup, long nonce) throws IOException;<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * Perform a batch of mutations.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * &lt;p&gt;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Note this supports only Put and Delete mutations and will ignore other types passed.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * @param mutations the list of mutations<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * @param nonceGroup<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * @param nonce<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * @return an array of OperationStatus which internally contains the<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * @throws IOException<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   */<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  OperationStatus[] batchMutate(Mutation[] mutations, long nonceGroup, long nonce)<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      throws IOException;<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * Replay a batch of mutations.<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param mutations mutations to replay.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @param replaySeqId<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * @return an array of OperationStatus which internally contains the<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * @throws IOException<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   */<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   OperationStatus[] batchReplay(MutationReplay[] mutations, long replaySeqId) throws IOException;<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * Atomically checks if a row/family/qualifier value matches the expected value and if it does,<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * it performs the mutation. If the passed value is null, the lack of column value<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * (ie: non-existence) is used. See checkAndRowMutate to do many checkAndPuts at a time on a<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * single row.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * @param row to check<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   * @param family column family to check<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @param qualifier column qualifier to check<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param compareOp the comparison operator<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @param comparator<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @param mutation<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * @param writeToWAL<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * @return true if mutation was applied, false otherwise<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   * @throws IOException<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   */<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  boolean checkAndMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      ByteArrayComparable comparator, Mutation mutation, boolean writeToWAL) throws IOException;<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   * Atomically checks if a row/family/qualifier value matches the expected values and if it does,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>   * it performs the row mutations. If the passed value is null, the lack of column value<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * (ie: non-existence) is used. Use to do many mutations on a single row. Use checkAndMutate<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   * to do one checkAndMutate at a time.<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * @param row to check<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * @param family column family to check<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * @param qualifier column qualifier to check<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * @param compareOp the comparison operator<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * @param comparator<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param mutations<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param writeToWAL<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return true if mutations were applied, false otherwise<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @throws IOException<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   */<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  boolean checkAndRowMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      ByteArrayComparable comparator, RowMutations mutations, boolean writeToWAL)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throws IOException;<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>  /**<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * Deletes the specified cells/row.<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @param delete<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @throws IOException<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  void delete(Delete delete) throws IOException;<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  /**<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * Do a get based on the get parameter.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * @param get query parameters<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @return result of the operation<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   */<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  Result get(Get get) throws IOException;<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  /**<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   * Do a get based on the get parameter.<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * @param get query parameters<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * @param withCoprocessor invoke coprocessor or not. We don't want to<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * always invoke cp.<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * @return list of cells resulting from the operation<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  List&lt;Cell&gt; get(Get get, boolean withCoprocessor) throws IOException;<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span>  /**<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * Return an iterator that scans over the HRegion, returning the indicated<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * columns and rows specified by the {@link Scan}.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * &lt;p&gt;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * This Iterator must be closed by the caller.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   *<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * @param scan configured {@link Scan}<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * @return RegionScanner<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @throws IOException read exceptions<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  RegionScanner getScanner(Scan scan) throws IOException;<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>   * Return an iterator that scans over the HRegion, returning the indicated columns and rows<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * specified by the {@link Scan}. The scanner will also include the additional scanners passed<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * along with the scanners for the specified Scan instance. Should be careful with the usage to<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * pass additional scanners only within this Region<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * &lt;p&gt;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * This Iterator must be closed by the caller.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   *<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * @param scan configured {@link Scan}<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * @param additionalScanners Any additional scanners to be used<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * @return RegionScanner<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * @throws IOException read exceptions<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   */<a name="line.416"></a>
-<span class="sourceLineNo">417</span>  RegionScanner getScanner(Scan scan, List&lt;KeyValueScanner&gt; additionalScanners) throws IOException;<a name="line.417"></a>
-<span class="sourceLineNo">418</span><a name="line.418"></a>
-<span class="sourceLineNo">419</span>  /** The comparator to be used with the region */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  CellComparator getCellCompartor();<a name="line.420"></a>
+<span class="sourceLineNo">298</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  // Region operations<a name="line.299"></a>
+<span class="sourceLineNo">300</span><a name="line.300"></a>
+<span class="sourceLineNo">301</span>  /**<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   * Perform one or more append operations on a row.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   * @param append<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   * @param nonceGroup<a name="line.304"></a>
+<span class="sourceLineNo">305</span>   * @param nonce<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * @return result of the operation<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * @throws IOException<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   */<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  Result append(Append append, long nonceGroup, long nonce) throws IOException;<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>  /**<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * Perform a batch of mutations.<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * &lt;p&gt;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * Note this supports only Put and Delete mutations and will ignore other types passed.<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @param mutations the list of mutations<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * @param nonceGroup<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   * @param nonce<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * @return an array of OperationStatus which internally contains the<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.319"></a>
+<span class="sourceLineNo">320</span>   * @throws IOException<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   */<a name="line.321"></a>
+<span class="sourceLineNo">322</span>  OperationStatus[] batchMutate(Mutation[] mutations, long nonceGroup, long nonce)<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      throws IOException;<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  /**<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * Replay a batch of mutations.<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @param mutations mutations to replay.<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * @param replaySeqId<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   * @return an array of OperationStatus which internally contains the<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * @throws IOException<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   OperationStatus[] batchReplay(MutationReplay[] mutations, long replaySeqId) throws IOException;<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * Atomically checks if a row/family/qualifier value matches the expected value and if it does,<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * it performs the mutation. If the passed value is null, the lack of column value<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * (ie: non-existence) is used. See checkAndRowMutate to do many checkAndPuts at a time on a<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * single row.<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @param row to check<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * @param family column family to check<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * @param qualifier column qualifier to check<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   * @param compareOp the comparison operator<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * @param comparator<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * @param mutation<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   * @param writeToWAL<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   * @return true if mutation was applied, false otherwise<a name="line.347"></a>
+<span class="sourceLineNo">348</span>   * @throws IOException<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   */<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  boolean checkAndMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      ByteArrayComparable comparator, Mutation mutation, boolean writeToWAL) throws IOException;<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>  /**<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   * Atomically checks if a row/family/qualifier value matches the expected values and if it does,<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * it performs the row mutations. If the passed value is null, the lack of column value<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   * (ie: non-existence) is used. Use to do many mutations on a single row. Use checkAndMutate<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   * to do one checkAndMutate at a time.<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   * @param row to check<a name="line.358"></a>
+<span class="sourceLineNo">359</span>   * @param family column family to check<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   * @param qualifier column qualifier to check<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * @param compareOp the comparison operator<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * @param comparator<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * @param mutations<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * @param writeToWAL<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @return true if mutations were applied, false otherwise<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @throws IOException<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  boolean checkAndRowMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      ByteArrayComparable comparator, RowMutations mutations, boolean writeToWAL)<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      throws IOException;<a name="line.370"></a>
+<span class="sourceLineNo">371</span><a name="line.371"></a>
+<span class="sourceLineNo">372</span>  /**<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * Deletes the specified cells/row.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * @param delete<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * @throws IOException<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   */<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  void delete(Delete delete) throws IOException;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>  /**<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * Do a get based on the get parameter.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * @param get query parameters<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @return result of the operation<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   */<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  Result get(Get get) throws IOException;<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  /**<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * Do a get based on the get parameter.<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   * @param get query parameters<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * @param withCoprocessor invoke coprocessor or not. We don't want to<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * always invoke cp.<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   * @return list of cells resulting from the operation<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   */<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  List&lt;Cell&gt; get(Get get, boolean withCoprocessor) throws IOException;<a name="line.393"></a>
+<span class="sourceLineNo">394</span><a name="line.394"></a>
+<span class="sourceLineNo">395</span>  /**<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * Return an iterator that scans over the HRegion, returning the indicated<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   * columns and rows specified by the {@link Scan}.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * &lt;p&gt;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * This Iterator must be closed by the caller.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   *<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * @param scan configured {@link Scan}<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * @return RegionScanner<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   * @throws IOException read exceptions<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   */<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  RegionScanner getScanner(Scan scan) throws IOException;<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  /**<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * Return an iterator that scans over the HRegion, returning the indicated columns and rows<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * specified by the {@link Scan}. The scanner will also include the additional scanners passed<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * along with the scanners for the specified Scan instance. Should be careful with the usage to<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * pass additional scanners only within this Region<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   * &lt;p&gt;<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * This Iterator must be closed by the caller.<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   *<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   * @param scan configured {@link Scan}<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * @param additionalScanners Any additional scanners to be used<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * @return RegionScanner<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @throws IOException read exceptions<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  RegionScanner getScanner(Scan scan, List&lt;KeyValueScanner&gt; additionalScanners) throws IOException;<a name="line.420"></a>
 <span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  /**<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   * Perform one or more increment operations on a row.<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * @param increment<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * @param nonceGroup<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param nonce<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @return result of the operation<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @throws IOException<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  Result increment(Increment increment, long nonceGroup, long nonce) throws IOException;<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Performs multiple mutations atomically on a single row. Currently<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * {@link Put} and {@link Delete} are supported.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   *<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * @param mutations object that specifies the set of mutations to perform atomically<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * @throws IOException<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   */<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  void mutateRow(RowMutations mutations) throws IOException;<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>   * Perform atomic mutations within the region.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   *<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * @param mutations The list of mutations to perform.<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * &lt;code&gt;mutations&lt;/code&gt; can contain operations for multiple rows.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Caller has to ensure that all rows are contained in this region.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * @param rowsToLock Rows to lock<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   * If multiple rows are locked care should be taken that<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   * &lt;code&gt;rowsToLock&lt;/code&gt; is sorted in order to avoid deadlocks.<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   * @throws IOException<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   */<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  void mutateRowsWithLocks(Collection&lt;Mutation&gt; mutations, Collection&lt;byte[]&gt; rowsToLock,<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      long nonceGroup, long nonce) throws IOException;<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>   * Performs atomic multiple reads and writes on a given row.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   *<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * @param processor The object defines the reads and writes to a row.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   */<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor) throws IOException;<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>  /**<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   *<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * @param processor The object defines the reads and writes to a row.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long nonceGroup, long nonce)<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      throws IOException;<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>  /**<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   *<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * @param processor The object defines the reads and writes to a row.<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @param timeout The timeout of the processor.process() execution<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   *                Use a negative number to switch off the time bound<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long timeout, long nonceGroup, long nonce)<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      throws IOException;<a name="line.484"></a>
-<span class="sourceLineNo">485</span><a name="line.485"></a>
-<span class="sourceLineNo">486</span>  /**<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * Puts some data in the table.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @param put<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * @throws IOException<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   */<a name="line.490"></a>
-<span class="sourceLineNo">491</span>  void put(Put put) throws IOException;<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>  /**<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * Listener class to enable callers of<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * bulkLoadHFile() to perform any necessary<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   * pre/post processing of a given bulkload call<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   */<a name="line.497"></a>
-<span class="sourceLineNo">498</span>  interface BulkLoadListener {<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>     * Called before an HFile is actually loaded<a name="line.501"></a>
-<span class="sourceLineNo">502</span>     * @param family family being loaded to<a name="line.502"></a>
-<span class="sourceLineNo">503</span>     * @param srcPath path of HFile<a name="line.503"></a>
-<span class="sourceLineNo">504</span>     * @return final path to be used for actual loading<a name="line.504"></a>
-<span class="sourceLineNo">505</span>     * @throws IOException<a name="line.505"></a>
-<span class="sourceLineNo">506</span>     */<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    String prepareBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>    /**<a name="line.509"></a>
-<span class="sourceLineNo">510</span>     * Called after a successful HFile load<a name="line.510"></a>
-<span class="sourceLineNo">511</span>     * @param family family being loaded to<a name="line.511"></a>
-<span class="sourceLineNo">512</span>     * @param srcPath path of HFile<a name="line.512"></a>
-<span class="sourceLineNo">513</span>     * @throws IOException<a name="line.513"></a>
-<span class="sourceLineNo">514</span>     */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    void doneBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    /**<a name="line.517"></a>
-<span class="sourceLineNo">518</span>     * Called after a failed HFile load<a name="line.518"></a>
-<span class="sourceLineNo">519</span>     * @param family family being loaded to<a name="line.519"></a>
-<span class="sourceLineNo">520</span>     * @param srcPath path of HFile<a name="line.520"></a>
-<span class="sourceLineNo">521</span>     * @throws IOException<a name="line.521"></a>
-<span class="sourceLineNo">522</span>     */<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    void failedBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>  }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>  /**<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * Attempts to atomically load a group of hfiles.  This is critical for loading<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * rows with multiple column families atomically.<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   *<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param familyPaths List of Pair&amp;lt;byte[] column family, String hfilePath&amp;gt;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param bulkLoadListener Internal hooks enabling massaging/preparation of a<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * file about to be bulk loaded<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @param assignSeqId<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   * @return true if successful, false if failed recoverably<a name="line.534"></a>
-<span class="sourceLineNo">535</span>   * @throws IOException if failed unrecoverably.<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   */<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  boolean bulkLoadHFiles(Collection&lt;Pair&lt;byte[], String&gt;&gt; familyPaths, boolean assignSeqId,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      BulkLoadListener bulkLoadListener) throws IOException;<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.540"></a>
-<span class="sourceLineNo">541</span>  // Coprocessors<a name="line.541"></a>
+<span class="sourceLineNo">422</span>  /** The comparator to be used with the region */<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  CellComparator getCellCompartor();<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>  /**<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * Perform one or more increment operations on a row.<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * @param increment<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * @param nonceGroup<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * @param nonce<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * @return result of the operation<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * @throws IOException<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   */<a name="line.432"></a>
+<span class="sourceLineNo">433</span>  Result increment(Increment increment, long nonceGroup, long nonce) throws IOException;<a name="line.433"></a>
+<span class="sourceLineNo">434</span><a name="line.434"></a>
+<span class="sourceLineNo">435</span>  /**<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * Performs multiple mutations atomically on a single row. Currently<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * {@link Put} and {@link Delete} are supported.<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   *<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   * @param mutations object that specifies the set of mutations to perform atomically<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   * @throws IOException<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   */<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  void mutateRow(RowMutations mutations) throws IOException;<a name="line.442"></a>
+<span class="sourceLineNo">443</span><a name="line.443"></a>
+<span class="sourceLineNo">444</span>  /**<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * Perform atomic mutations within the region.<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   *<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   * @param mutations The list of mutations to perform.<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   * &lt;code&gt;mutations&lt;/code&gt; can contain operations for multiple rows.<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   * Caller has to ensure that all rows are contained in this region.<a name="line.449"></a>
+<span class="sourceLineNo">450</span>   * @param rowsToLock Rows to lock<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.451"></a>
+<span class="sourceLineNo">452</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * If multiple rows are locked care should be taken that<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * &lt;code&gt;rowsToLock&lt;/code&gt; is sorted in order to avoid deadlocks.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   * @throws IOException<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   */<a name="line.456"></a>
+<span class="sourceLineNo">457</span>  void mutateRowsWithLocks(Collection&lt;Mutation&gt; mutations, Collection&lt;byte[]&gt; rowsToLock,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      long nonceGroup, long nonce) throws IOException;<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>   * Performs atomic multiple reads and writes on a given row.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   *<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   * @param processor The object defines the reads and writes to a row.<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   */<a name="line.464"></a>
+<span class="sourceLineNo">465</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor) throws IOException;<a name="line.465"></a>
+<span class="sourceLineNo">466</span><a name="line.466"></a>
+<span class="sourceLineNo">467</span>  /**<a name="line.467"></a>
+<span class="sourceLineNo">468</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.468"></a>
+<span class="sourceLineNo">469</span>   *<a name="line.469"></a>
+<span class="sourceLineNo">470</span>   * @param processor The object defines the reads and writes to a row.<a name="line.470"></a>
+<span class="sourceLineNo">471</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   */<a name="line.473"></a>
+<span class="sourceLineNo">474</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long nonceGroup, long nonce)<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      throws IOException;<a name="line.475"></a>
+<span class="sourceLineNo">476</span><a name="line.476"></a>
+<span class="sourceLineNo">477</span>  /**<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   *<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * @param processor The object defines the reads and writes to a row.<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   * @param timeout The timeout of the processor.process() execution<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   *                Use a negative number to switch off the time bound<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.483"></a>
+<span class="sourceLineNo">484</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.484"></a>
+<span class="sourceLineNo">485</span>   */<a name="line.485"></a>
+<span class="sourceLineNo">486</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long timeout, long nonceGroup, long nonce)<a name="line.486"></a>
+<span class="sourceLineNo">487</span>      throws IOException;<a name="line.487"></a>
+<span class="sourceLineNo">488</span><a name="line.488"></a>
+<span class="sourceLineNo">489</span>  /**<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * Puts some data in the table.<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * @param put<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * @throws IOException<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   */<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  void put(Put put) throws IOException;<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>  /**<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * Listener class to enable callers of<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * bulkLoadHFile() to perform any necessary<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * pre/post processing of a given bulkload call<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
+<span class="sourceLineNo">501</span>  interface BulkLoadListener {<a name="line.501"></a>
+<span class="sourceLineNo">502</span><a name="line.502"></a>
+<span class="sourceLineNo">503</span>    /**<a name="line.503"></a>
+<span class="sourceLineNo">504</span>     * Called before an HFile is actually loaded<a name="line.504"></a>
+<span class="sourceLineNo">505</span>     * @param family family being loaded to<a name="line.505"></a>
+<span class="sourceLineNo">506</span>     * @param srcPath path of HFile<a name="line.506"></a>
+<span class="sourceLineNo">507</span>     * @return final path to be used for actual loading<a name="line.507"></a>
+<span class="sourceLineNo">508</span>     * @throws IOException<a name="line.508"></a>
+<span class="sourceLineNo">509</span>     */<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    String prepareBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.510"></a>
+<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">512</span>    /**<a name="line.512"></a>
+<span class="sourceLineNo">513</span>     * Called after a successful HFile load<a name="line.513"></a>
+<span class="sourceLineNo">514</span>     * @param family family being loaded to<a name="line.514"></a>
+<span class="sourceLineNo">515</span>     * @param srcPath path of HFile<a name="line.515"></a>
+<span class="sourceLineNo">516</span>     * @throws IOException<a name="line.516"></a>
+<span class="sourceLineNo">517</span>     */<a name="line.517"></a>
+<span class="sourceLineNo">518</span>    void doneBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.518"></a>
+<span class="sourceLineNo">519</span><a name="line.519"></a>
+<span class="sourceLineNo">520</span>    /**<a name="line.520"></a>
+<span class="sourceLineNo">521</span>     * Called after a failed HFile load<a name="line.521"></a>
+<span class="sourceLineNo">522</span>     * @param family family being loaded to<a name="line.522"></a>
+<span class="sourceLineNo">523</span>     * @param srcPath path of HFile<a name="line.523"></a>
+<span class="sourceLineNo">524</span>     * @throws IOException<a name="line.524"></a>
+<span class="sourceLineNo">525</span>     */<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    void failedBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.526"></a>
+<span class="sourceLineNo">527</span>  }<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span>  /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * Attempts to atomically load a group of hfiles.  This is critical for loading<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   * rows with multiple column families atomically.<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   *<a name="line.532"></a>
+<span class="sourceLineNo">533</span>   * @param familyPaths List of Pair&amp;lt;byte[] column family, String hfilePath&amp;gt;<a name="line.533"></a>
+<span class="sourceLineNo">534</span>   * @param bulkLoadListener Internal hooks enabling massaging/preparation of a<a name="line.534"></a>
+<span class="sourceLineNo">535</span>   * file about to be bulk loaded<a name="line.535"></a>
+<span class="sourceLineNo">536</span>   * @param assignSeqId<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   * @return true if successful, false if failed recoverably<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @throws IOException if failed unrecoverably.<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   */<a name="line.539"></a>
+<span class="sourceLineNo">540</span>  boolean bulkLoadHFiles(Collection&lt;Pair&lt;byte[], String&gt;&gt; familyPaths, boolean assignSeqId,<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      BulkLoadListener bulkLoadListener) throws IOException;<a name="line.541"></a>
 <span class="sourceLineNo">542</span><a name="line.542"></a>
-<span class="sourceLineNo">543</span>  /** @return the coprocessor host */<a name="line.543"></a>
-<span class="sourceLineNo">544</span>  RegionCoprocessorHost getCoprocessorHost();<a name="line.544"></a>
+<span class="sourceLineNo">543</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.543"></a>
+<span class="sourceLineNo">544</span>  // Coprocessors<a name="line.544"></a>
 <span class="sourceLineNo">545</span><a name="line.545"></a>
-<span class="sourceLineNo">546</span>  /**<a name="line.546"></a>
-<span class="sourceLineNo">547</span>   * Executes a single protocol buffer coprocessor endpoint {@link Service} method using<a name="line.547"></a>
-<span class="sourceLineNo">548</span>   * the registered protocol handlers.  {@link Service} implementations must be registered via the<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * {@link Region#registerService(com.google.protobuf.Service)}<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * method before they are available.<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   *<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   * @param controller an {@code RpcContoller} implementation to pass to the invoked service<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param call a {@code CoprocessorServiceCall} instance identifying the service, method,<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   *     and parameters for the method invocation<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * @return a protocol buffer {@code Message} instance containing the method's result<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @throws IOException if no registered service handler is found or an error<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   *     occurs during the invocation<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @see org.apache.hadoop.hbase.regionserver.Region#registerService(com.google.protobuf.Service)<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  Message execService(RpcController controller, CoprocessorServiceCall call) throws IOException;<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  /**<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   * Registers a new protocol buffer {@link Service} subclass as a coprocessor endpoint to<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * be available for handling<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * {@link Region#execService(com.google.protobuf.RpcController,<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   *    org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)}} calls.<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   *<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * &lt;p&gt;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * Only a single instance may be registered per region for a given {@link Service} subclass (the<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * instances are keyed on {@link com.google.protobuf.Descriptors.ServiceDescriptor#getFullName()}.<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * After the first registration, subsequent calls with the same service name will fail with<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   * a return value of {@code false}.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   * &lt;/p&gt;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>   * @param instance the {@code Service} subclass instance to expose as a coprocessor endpoint<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   * @return {@code true} if the registration was successful, {@code false}<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   * otherwise<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   */<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  boolean registerService(Service instance);<a name="line.578"></a>
-<span class="sourceLineNo">579</span><a name="line.579"></a>
-<span class="sourceLineNo">580</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.580"></a>
-<span class="sourceLineNo">581</span>  // RowMutation processor support<a name="line.581"></a>
+<span class="sourceLineNo">546</span>  /** @return the coprocessor host */<a name="line.546"></a>
+<span class="sourceLineNo">547</span>  RegionCoprocessorHost getCoprocessorHost();<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>  /**<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * Executes a single protocol buffer coprocessor endpoint {@link Service} method using<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * the registered protocol handlers.  {@link Service} implementations must be registered via the<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   * {@link Region#registerService(com.google.protobuf.Service)}<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   * method before they are available.<a name="line.553"></a>
+<span class="sourceLineNo">554</span>   *<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   * @param controller an {@code RpcContoller} implementation to pass to the invoked service<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   * @param call a {@code CoprocessorServiceCall} instance identifying the service, method,<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   *     and parameters for the method invocation<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   * @return a protocol buffer {@code Message} instance containing the method's result<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   * @throws IOException if no registered service handler is found or an error<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   *     occurs during the invocation<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   * @see org.apache.hadoop.hbase.regionserver.Region#registerService(com.google.protobuf.Service)<a name="line.561"></a>
+<span class="sourceLineNo">562</span>   */<a name="line.562"></a>
+<span class="sourceLineNo">563</span>  Message execService(RpcController controller, CoprocessorServiceCall call) throws IOException;<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span>  /**<a name="line.565"></a>
+<span class="sourceLineNo">566</span>   * Registers a new protocol buffer {@link Service} subclass as a coprocessor endpoint to<a name="line.566"></a>
+<span class="sourceLineNo">567</span>   * be available for handling<a name="line.567"></a>
+<span class="sourceLineNo">568</span>   * {@link Region#execService(com.google.protobuf.RpcController,<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   *    org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)}} calls.<a name="line.569"></a>
+<span class="sourceLineNo">570</span>   *<a name="line.570"></a>
+<span class="sourceLineNo">571</span>   * &lt;p&gt;<a name="line.571"></a>
+<span class="sourceLineNo">572</span>   * Only a single instance may be registered per region for a given {@link Service} subclass (the<a name="line.572"></a>
+<span class="sourceLineNo">573</span>   * instances are keyed on {@link com.google.protobuf.Descriptors.ServiceDescriptor#getFullName()}.<a name="line.573"></a>
+<span class="sourceLineNo">574</span>   * After the first registration, subsequent calls with the same service name will fail with<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   * a return value of {@code false}.<a name="line.575"></a>
+<span class="sourceLineNo">576</span>   * &lt;/p&gt;<a name="line.576"></a>
+<span class="sourceLineNo">577</span>   * @param instance the {@code Service} subclass instance to expose as a coprocessor endpoint<a name="line.577"></a>
+<span class="sourceLineNo">578</span>   * @return {@code true} if the registration was successful, {@code false}<a name="line.578"></a>
+<span class="sourceLineNo">579</span>   * otherwise<a name="line.579"></a>
+<span class="sourceLineNo">580</span>   */<a name="line.580"></a>
+<span class="sourceLineNo">581</span>  boolean registerService(Service instance);<a name="line.581"></a>
 <span class="sourceLineNo">582</span><a name="line.582"></a>
-<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * Check the collection of families for validity.<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   * @param families<a name="line.585"></a>
-<span class="sourceLineNo">586</span>   * @throws NoSuchColumnFamilyException<a name="line.586"></a>
-<span class="sourceLineNo">587</span>   */<a name="line.587"></a>
-<span class="sourceLineNo">588</span>  void checkFamilies(Collection&lt;byte[]&gt; families) throws NoSuchColumnFamilyException;<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>  /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * Check the collection of families for valid timestamps<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * @param familyMap<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   * @param now current timestamp<a name="line.593"></a>
-<span class="sourceLineNo">594</span>   * @throws FailedSanityCheckException<a name="line.594"></a>
-<span class="sourceLineNo">595</span>   */<a name="line.595"></a>
-<span class="sourceLineNo">596</span>  void checkTimestamps(Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, long now)<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      throws FailedSanityCheckException;<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Prepare a delete for a row mutation processor<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   * @param delete The passed delete is modified by this method. WARNING!<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * @throws IOException<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   */<a name="line.603"></a>
-<span class="sourceLineNo">604</span>  void prepareDelete(Delete delete) throws IOException;<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>  /**<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * Set up correct timestamps in the KVs in Delete object.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * &lt;p&gt;Caller should have the row and region locks.<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * @param mutation<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * @param familyCellMap<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * @param now<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * @throws IOException<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   */<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  void prepareDeleteTimestamps(Mutation mutation, Map&lt;byte[], List&lt;Cell&gt;&gt; familyCellMap,<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      byte[] now) throws IOException;<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>  /**<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * Replace any cell timestamps set to {@link org.apache.hadoop.hbase.HConstants#LATEST_TIMESTAMP}<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * provided current timestamp.<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @param values<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @param now<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  void updateCellTimestamps(final Iterable&lt;List&lt;Cell&gt;&gt; values, final byte[] now)<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      throws IOException;<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.626"></a>
-<span class="sourceLineNo">627</span>  // Flushes, compactions, splits, etc.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>  // Wizards only, please<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>  interface FlushResult {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    enum Result {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      FLUSHED_NO_COMPACTION_NEEDED,<a name="line.632"></a>
-<span class="sourceLineNo">633</span>      FLUSHED_COMPACTION_NEEDED,<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      // Special case where a flush didn't run because there's nothing in the memstores. Used when<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      // bulk loading to know when we can still load even if a flush didn't happen.<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      CANNOT_FLUSH_MEMSTORE_EMPTY,<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      CANNOT_FLUSH<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    }<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>    /** @return the detailed result code */<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    Result getResult();<a name="line.641"></a>
+<span class="sourceLineNo">583</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.583"></a>
+<span class="sourceLineNo">584</span>  // RowMutation processor support<a name="line.584"></a>
+<span class="sourceLineNo">585</span><a name="line.585"></a>
+<span class="sourceLineNo">586</span>  /**<a name="line.586"></a>
+<span class="sourceLineNo">587</span>   * Check the collection of families for validity.<a name="line.587"></a>
+<span class="sourceLineNo">588</span>   * @param families<a name="line.588"></a>
+<span class="sourceLineNo">589</span>   * @throws NoSuchColumnFamilyException<a name="line.589"></a>
+<span class="sourceLineNo">590</span>   */<a name="line.590"></a>
+<span class="sourceLineNo">591</span>  void checkFamilies(Collection&lt;byte[]&gt; families) throws NoSuchColumnFamilyException;<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span>  /**<a name="line.593"></a>
+<span class="sourceLineNo">594</span>   * Check the collection of families for valid timestamps<a name="line.594"></a>
+<span class="sourceLineNo">595</span>   * @param familyMap<a name="line.595"></a>
+<span class="sourceLineNo">596</span>   * @param now current timestamp<a name="line.596"></a>
+<span class="sourceLineNo">597</span>   * @throws FailedSanityCheckException<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   */<a name="line.598"></a>
+<span class="sourceLineNo">599</span>  void checkTimestamps(Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, long now)<a name="line.599"></a>
+<span class="sourceLineNo">600</span>      throws FailedSanityCheckException;<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span>  /**<a name="line.602"></a>
+<span class="sourceLineNo">603</span>   * Prepare a delete for a row mutation processor<a name="line.603"></a>
+<span class="sourceLineNo">604</span>   * @param delete The passed delete is modified by this method. WARNING!<a name="line.604"></a>
+<span class="sourceLineNo">605</span>   * @throws IOException<a name="line.605"></a>
+<span class="sourceLineNo">606</span>   */<a name="line.606"></a>
+<span class="sourceLineNo">607</span>  void prepareDelete(Delete delete) throws IOException;<a name="line.607"></a>
+<span class="sourceLineNo">608</span><a name="line.608"></a>
+<span class="sourceLineNo">609</span>  /**<a name="line.609"></a>
+<span class="sourceLineNo">610</span>   * Set up correct timestamps in the KVs in Delete object.<a name="line.610"></a>
+<span class="sourceLineNo">611</span>   * &lt;p&gt;Caller should have the row and region locks.<a name="line.611"></a>
+<span class="sourceLineNo">612</span>   * @param mutation<a name="line.612"></a>
+<span class="sourceLineNo">613</span>   * @param familyCellMap<a name="line.613"></a>
+<span class="sourceLineNo">614</span>   * @param now<a name="line.614"></a>
+<span class="sourceLineNo">615</span>   * @throws IOException<a name="line.615"></a>
+<span class="sourceLineNo">616</span>   */<a name="line.616"></a>
+<span class="sourceLineNo">617</span>  void prepareDeleteTimestamps(Mutation mutation, Map&lt;byte[], List&lt;Cell&gt;&gt; familyCellMap,<a name="line.617"></a>
+<span class="sourceLineNo">618</span>      byte[] now) throws IOException;<a name="line.618"></a>
+<span class="sourceLineNo">619</span><a name="line.619"></a>
+<span class="sourceLineNo">620</span>  /**<a name="line.620"></a>
+<span class="sourceLineNo">621</span>   * Replace any cell timestamps set to {@link org.apache.hadoop.hbase.HConstants#LATEST_TIMESTAMP}<a name="line.621"></a>
+<span class="sourceLineNo">622</span>   * provided current timestamp.<a name="line.622"></a>
+<span class="sourceLineNo">623</span>   * @param values<a name="line.623"></a>
+<span class="sourceLineNo">624</span>   * @param now<a name="line.624"></a>
+<span class="sourceLineNo">625</span>   */<a name="line.625"></a>
+<span class="sourceLineNo">626</span>  void updateCellTimestamps(final Iterable&lt;List&lt;Cell&gt;&gt; values, final byte[] now)<a name="line.626"></a>
+<span class="sourceLineNo">627</span>      throws IOException;<a name="line.627"></a>
+<span class="sourceLineNo">628</span><a name="line.628"></a>
+<span class="sourceLineNo">629</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.629"></a>
+<span class="sourceLineNo">630</span>  // Flushes, compactions, splits, etc.<a name="line.630"></a>
+<span class="sourceLineNo">631</span>  // Wizards only, please<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>  interface FlushResult {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>    enum Result {<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      FLUSHED_NO_COMPACTION_NEEDED,<a name="line.635"></a>
+<span class="sourceLineNo">636</span>      FLUSHED_COMPACTION_NEEDED,<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      // Special case where a flush didn't run because there's nothing in the memstores. Used when<a name="line.637"></a>
+<span class="sourceLineNo">638</span>      // bulk loading to know when we can still load even if a flush didn't happen.<a name="line.638"></a>
+<span class="sourceLineNo">639</span>      CANNOT_FLUSH_MEMSTORE_EMPTY,<a name="line.639"></a>
+<span class="sourceLineNo">640</span>      CANNOT_FLUSH<a name="line.640"></a>
+<span class="sourceLineNo">641</span>    }<a name="line.641"></a>
 <span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>    /** @return true if the memstores were flushed, else false */<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    boolean isFlushSucceeded();<a name="line.644"></a>
+<span class="sourceLineNo">643</sp

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
index d03724e..658fe8f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
@@ -292,7951 +292,7969 @@
 <span class="sourceLineNo">284</span><a name="line.284"></a>
 <span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter writeRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  // Number of requests blocked by memstore size.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  // Compaction counters<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>  private final WAL wal;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final HRegionFileSystem fs;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  protected final Configuration conf;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  private final Configuration baseConf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final int rowLockWaitDuration;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  // The internal wait duration to acquire a lock before read/update<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // we can release the IPC handler soon enough to improve the<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // availability of the region server. It can be adjusted by<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  final long busyWaitDuration;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>  // If updating multiple rows in one call, wait longer,<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // we can limit the max multiplier.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  final int maxBusyWaitMultiplier;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  final long maxBusyWaitDuration;<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  // negative number indicates infinite timeout<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * The sequence ID that was encountered when this region was opened.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * scan requests to this region. Requests can override it.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  //<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // are equal to or lower than maxSeqId for each store.<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // The following map is populated when opening the region<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>  /** Saved state from replaying prepare flush cache */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  /**<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   */<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private boolean disallowWritesInRecovering = false;<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  private volatile boolean recovering = false;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>  /**<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * region. Writes older than this readPoint, are included in every<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * read operation.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  public long getSmallestReadPoint() {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    long minimumReadPoint;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    synchronized(scannerReadPoints) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          minimumReadPoint = readPoint;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return minimumReadPoint;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  /*<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * Data structure of write state flags used coordinating flushes,<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * compactions and closes.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  static class WriteState {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // Set while a memstore flush is happening.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    volatile boolean flushing = false;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // Set when a flush has been requested.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    volatile boolean flushRequested = false;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // Number of compactions running.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    volatile boolean writesEnabled = true;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // Set if region is read-only<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    volatile boolean readOnly = false;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    volatile boolean readsEnabled = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>    /**<a name="line.405"></a>
-<span class="sourceLineNo">406</span>     * Set flags that make this region read-only.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     *<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     * @param onOff flip value for region r/o setting<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.writesEnabled = !onOff;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.readOnly = onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>    boolean isReadOnly() {<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return this.flushRequested;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      this.readsEnabled = readsEnabled;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  /**<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * if it didn't flush.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public static class FlushResultImpl implements FlushResult {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    final Result result;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final String failureReason;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final long flushSequenceId;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final boolean wroteFlushWalMarker;<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    /**<a name="line.443"></a>
-<span class="sourceLineNo">444</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * null.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     *                        memstores.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     */<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      this(result, flushSequenceId, null, false);<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>     * Convenience constructor to use when we cannot flush.<a name="line.457"></a>
-<span class="sourceLineNo">458</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>     * @param failureReason Reason why we couldn't flush.<a name="line.459"></a>
-<span class="sourceLineNo">460</span>     */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>    /**<a name="line.466"></a>
-<span class="sourceLineNo">467</span>     * Constructor with all the parameters.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @param result Any of the Result.<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>     */<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      boolean wroteFlushMarker) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      this.result = result;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      this.flushSequenceId = flushSequenceId;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      this.failureReason = failureReason;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      this.wroteFlushWalMarker = wroteFlushMarker;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>    /**<a name="line.480"></a>
-<span class="sourceLineNo">481</span>     * Convenience method, the equivalent of checking if result is<a name="line.481"></a>
-<span class="sourceLineNo">482</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>     * @return true if the memstores were flushed, else false.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>     */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public boolean isFlushSucceeded() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.487"></a>
-<span class="sourceLineNo">488</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>    /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<a name="line.493"></a>
-<span class="sourceLineNo">494</span>     */<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    @Override<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    public boolean isCompactionNeeded() {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    }<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    @Override<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    public String toString() {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      return new StringBuilder()<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        .append("flush result:").append(result).append(", ")<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        .append("flush seq id").append(flushSequenceId).toString();<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    @Override<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    public Result getResult() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      return result;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  }<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span>  /** A result object from prepare flush cache stage */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static class PrepareFlushResult {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    final FlushResult result; // indicating a failure result from prepare<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    final TreeMap&lt;byte[], Long&gt; storeFlushableSize;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    final long startTime;<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    final long flushOpSeqId;<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    final long flushedSeqId;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    final long totalFlushableSize;<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    /** Constructs an early exit case */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    PrepareFlushResult(FlushResult result, long flushSeqId) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, 0);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>    /** Constructs a successful prepare flush result */<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    PrepareFlushResult(<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        flushSeqId, flushedSeqId, totalFlushableSize);<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    }<a name="line.539"></a>
-<span class="sourceLineNo">540</span><a name="line.540"></a>
-<span class="sourceLineNo">541</span>    private PrepareFlushResult(<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      FlushResult result,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      this.result = result;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      this.committedFiles = committedFiles;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      this.startTime = startTime;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      this.flushOpSeqId = flushSeqId;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      this.flushedSeqId = flushedSeqId;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      this.totalFlushableSize = totalFlushableSize;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    }<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    public FlushResult getResult() {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      return this.result;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  final WriteState writestate = new WriteState();<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  long memstoreFlushSize;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  final long timestampSlop;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  final long rowProcessorTimeout;<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  private final ConcurrentMap&lt;Store, Long&gt; lastStoreFlushTimeMap =<a name="line.569"></a>
-<span class="sourceLineNo">570</span>      new ConcurrentHashMap&lt;Store, Long&gt;();<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>  final RegionServerServices rsServices;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private RegionServerAccounting rsAccounting;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  private long flushCheckInterval;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.575"></a>
-<span class="sourceLineNo">576</span>  private long flushPerChanges;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  private long blockingMemStoreSize;<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  final long threadWakeFrequency;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  // Used to guard closes<a name="line.579"></a>
-<span class="sourceLineNo">580</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span>  // Stop updates lock<a name="line.582"></a>
-<span class="sourceLineNo">583</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.583"></a>
-<span class="sourceLineNo">584</span>  private boolean splitRequest;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>  private byte[] explicitSplitPoint = null;<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  // Coprocessor host<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.590"></a>
-<span class="sourceLineNo">591</span><a name="line.591"></a>
-<span class="sourceLineNo">592</span>  private HTableDescriptor htableDescriptor = null;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>  private RegionSplitPolicy splitPolicy;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  private FlushPolicy flushPolicy;<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>  private final MetricsRegion metricsRegion;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>  private final Durability durability;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  private final boolean regionStatsEnabled;<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>  /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   *<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * usually the table directory.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * The wal file is a logfile from the previous execution that's<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * the supplied path.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param fs is the filesystem.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @param confParam is global configuration settings.<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @param regionInfo - HRegionInfo that describes the region<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * is new), then read them from the supplied path.<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param htd the table descriptor<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @deprecated Use other constructors.<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  @Deprecated<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  @VisibleForTesting<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      final Configuration confParam, final HRegionInfo regionInfo,<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.627"></a>
-<span class="sourceLineNo">628</span>      wal, confParam, htd, rsServices);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>  }<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>  /**<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   *<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * @param fs is the filesystem.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * The wal file is a logfile from the previous execution that's<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.640"></a>
-<span class="sourceLineNo">641</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   * the supplied path.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * @param confParam is global configuration settings.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @param htd the table descriptor<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    if (htd == null) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      throw new IllegalArgumentException("Need table descriptor");<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    }<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span>    if (confParam instanceof CompoundConfiguration) {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      throw new IllegalArgumentException("Need original base configuration");<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>    this.wal = wal;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    this.fs = fs;<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    this.baseConf = confParam;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.conf = new CompoundConfiguration()<a name="line.662"></a>
-<span class="sourceLineNo">663</span>      .add(confParam)<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      .addStringMap(htd.getConfiguration())<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      .addBytesMap(htd.getValues());<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.670"></a>
-<span class="sourceLineNo">671</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.673"></a>
-<span class="sourceLineNo">674</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.674"></a>
-<span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span>    this.maxWaitForSeqId = conf.getInt(MAX_WAIT_FOR_SEQ_ID_KEY, DEFAULT_MAX_WAIT_FOR_SEQ_ID);<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    this.htableDescriptor = htd;<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.rsServices = rsServices;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    this.threadWakeFrequency = conf.getLong(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    setHTableSpecificConf();<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;RegionScanner, Long&gt;();<a name="line.682"></a>
-<span class="sourceLineNo">683</span><a name="line.683"></a>
-<span class="sourceLineNo">684</span>    this.busyWaitDuration = conf.getLong(<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.688"></a>
-<span class="sourceLineNo">689</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.689"></a>
-<span class="sourceLineNo">690</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    }<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>    /*<a name="line.695"></a>
-<span class="sourceLineNo">696</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.698"></a>
-<span class="sourceLineNo">699</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.699"></a>
-<span class="sourceLineNo">700</span>     */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    this.timestampSlop = conf.getLong(<a name="line.701"></a>
-<span class="sourceLineNo">702</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        HConstants.LATEST_TIMESTAMP);<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>    /**<a name="line.705"></a>
-<span class="sourceLineNo">706</span>     * Timeout for the process time in processRowsWithLocks().<a name="line.706"></a>
-<span class="sourceLineNo">707</span>     * Use -1 to switch off time bound.<a name="line.707"></a>
-<span class="sourceLineNo">708</span>     */<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    this.durability = htd.getDurability() == Durability.USE_DEFAULT<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        ? DEFAULT_DURABILITY<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        : htd.getDurability();<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    if (rsServices != null) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>      Map&lt;String, Region&gt; recoveringRegions = rsServices.getRecoveringRegions();<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      String encodedName = getRegionInfo().getEncodedName();<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      if (recoveringRegions != null &amp;&amp; recoveringRegions.containsKey(encodedName)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        this.recovering = true;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        recoveringRegions.put(encodedName, this);<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      }<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    } else {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.metricsRegionWrapper = null;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      this.metricsRegion = null;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    if (LOG.isDebugEnabled()) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      // Write out region name as string and its encoded name.<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      LOG.debug("Instantiated " + this);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>    }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>    // by default, we allow writes against a region when it's in recovering<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    this.disallowWritesInRecovering =<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        conf.getBoolean(HConstants.DISALLOW_WRITES_IN_RECOVERING,<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          HConstants.DEFAULT_DISALLOW_WRITES_IN_RECOVERING_CONFIG);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    configurationManager = Optional.absent();<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.744"></a>
-<span class="sourceLineNo">745</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          false :<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.747"></a>
-<span class="sourceLineNo">748</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  }<a name="line.749"></a>
-<span class="sourceLineNo">750</span><a name="line.750"></a>
-<span class="sourceLineNo">751</span>  void setHTableSpecificConf() {<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    if (this.htableDescriptor == null) return;<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.753"></a>
-<span class="sourceLineNo">754</span><a name="line.754"></a>
-<span class="sourceLineNo">755</span>    if (flushSize &lt;= 0) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        HTableDescriptor.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    this.memstoreFlushSize = flushSize;<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.760"></a>
-<span class="sourceLineNo">761</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  }<a name="line.763"></a>
-<span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>  /**<a name="line.765"></a>
-<span class="sourceLineNo">766</span>   * Initialize this region.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * You should use createHRegion() or openHRegion()<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * @return What the next sequence (edit) id should be.<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * @throws IOException e<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   */<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  @Deprecated<a name="line.773"></a>
-<span class="sourceLineNo">774</span>  public long initialize() throws IOException {<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    return initialize(null);<a name="line.775"></a>
-<span class="sourceLineNo">776</span>  }<a name="line.776"></a>
-<span class="sourceLineNo">777</span><a name="line.777"></a>
-<span class="sourceLineNo">778</span>  /**<a name="line.778"></a>
-<span class="sourceLineNo">779</span>   * Initialize this region.<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   *<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * @return What the next sequence (edit) id should be.<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * @throws IOException e<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   */<a name="line.784"></a>
-<span class="sourceLineNo">785</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    long nextSeqId = -1;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    try {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.789"></a>
-<span class="sourceLineNo">790</span>      return nextSeqId;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    } finally {<a name="line.791"></a>
-<span class="sourceLineNo">792</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      // At least it will be 0 otherwise.<a name="line.793"></a>
-<span class="sourceLineNo">794</span>      if (nextSeqId == -1) {<a name="line.794"></a>
-<span class="sourceLineNo">795</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.795"></a>
-<span class="sourceLineNo">796</span>          " initialization.");<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      }<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span>  }<a name="line.799"></a>
-<span class="sourceLineNo">800</span><a name="line.800"></a>
-<span class="sourceLineNo">801</span>  private long initializeRegionInternals(final CancelableProgressable reporter,<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      final MonitoredTask status) throws IOException {<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    if (coprocessorHost != null) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      status.setStatus("Running coprocessor pre-open hook");<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      coprocessorHost.preOpen();<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    // Write HRI to a file in case we need to recover hbase:meta<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    status.setStatus("Writing region info on filesystem");<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    fs.checkRegionInfoOnFilesystem();<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    // Initialize all the HStores<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    status.setStatus("Initializing all the Stores");<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    long maxSeqId = initializeStores(reporter, status);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    this.mvcc.advanceTo(maxSeqId);<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    if (ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      // Recover any edits if available.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      maxSeqId = Math.max(maxSeqId,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>        replayRecoveredEditsIfAny(this.fs.getRegionDir(), maxSeqIdInStores, reporter, status));<a name="line.819"></a>
-<span class="sourceLineNo">820</span>      // Make sure mvcc is up to max.<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.mvcc.advanceTo(maxSeqId);<a name="line.821"></a>
-<span class="sourceLineNo">822</span>    }<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    this.lastReplayedOpenRegionSeqId = maxSeqId;<a name="line.823"></a>
-<span class="sourceLineNo">824</span><a name="line.824"></a>
-<span class="sourceLineNo">825</span>    this.writestate.setReadOnly(ServerRegionReplicaUtil.isReadOnly(this));<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    this.writestate.flushRequested = false;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    this.writestate.compacting.set(0);<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span>    if (this.writestate.writesEnabled) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      // Remove temporary data left over from old regions<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      status.setStatus("Cleaning up temporary data from old regions");<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      fs.cleanupTempDir();<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
-<span class="sourceLineNo">834</span><a name="line.834"></a>
-<span class="sourceLineNo">835</span>    if (this.writestate.writesEnabled) {<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      status.setStatus("Cleaning up detritus from prior splits");<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      // Get rid of any splits or merges that were lost in-progress.  Clean out<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      // these directories here on open.  We may be opening a region that was<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      // being split but we crashed in the middle of it all.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>      fs.cleanupAnySplitDetritus();<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      fs.cleanupMergesDir();<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Initialize split policy<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    this.splitPolicy = RegionSplitPolicy.create(this, conf);<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span>    // Initialize flush policy<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    this.flushPolicy = FlushPolicyFactory.create(this, conf);<a name="line.848"></a>
-<span class="sourceLineNo">849</span><a name="line.849"></a>
-<span class="sourceLineNo">850</span>    long lastFlushTime = EnvironmentEdgeManager.currentTime();<a name="line.850"></a>
-<span class="sourceLineNo">851</span>    for (Store store: stores.values()) {<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      this.lastStoreFlushTimeMap.put(store, lastFlushTime);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>    // Use maximum of log sequenceid or that which was found in stores<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    // (particularly if no recovered edits, seqid will be -1).<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    long nextSeqid = maxSeqId;<a name="line.857"></a>
-<span class="sourceLineNo">858</span><a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // In distributedLogReplay mode, we don't know the last change sequence number because region<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // is opened before recovery completes. So we add a safety bumper to avoid new sequence number<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    // overlaps used sequence numbers<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (this.writestate.writesEnabled) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      nextSeqid = WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs<a name="line.863"></a>
-<span class="sourceLineNo">864</span>          .getRegionDir(), nextSeqid, (this.recovering ? (this.flushPerChanges + 10000000) : 1));<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    } else {<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      nextSeqid++;<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>    LOG.info("Onlined " + this.getRegionInfo().getShortNameToLog() +<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      "; next sequenceid=" + nextSeqid);<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    // A region can be reopened if failed a split; reset flags<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    this.closing.set(false);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    this.closed.set(false);<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    if (coprocessorHost != null) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      status.setStatus("Running coprocessor post-open hooks");<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      coprocessorHost.postOpen();<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span>    status.markComplete("Region opened successfully");<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    return nextSeqid;<a name="line.882"></a>
-<span class="sourceLineNo">883</span>  }<a name="line.883"></a>
-<span class="sourceLineNo">884</span><a name="line.884"></a>
-<span class="sourceLineNo">885</span>  /**<a name="line.885"></a>
-<span class="sourceLineNo">886</span>   * Open all Stores.<a name="line.886"></a>
-<span class="sourceLineNo">887</span>   * @param reporter<a name="line.887"></a>
-<span class="sourceLineNo">888</span>   * @param status<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * @return Highest sequenceId found out in a Store.<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * @throws IOException<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   */<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  private long initializeStores(final CancelableProgressable reporter, MonitoredTask status)<a name="line.892"></a>
-<span class="sourceLineNo">893</span>  throws IOException {<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    // Load in all the HStores.<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    long maxSeqId = -1;<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    // initialized to -1 so that we pick up MemstoreTS from column families<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    long maxMemstoreTS = -1;<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    if (!htableDescriptor.getFamilies().isEmpty()) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      // initialize the thread pool for opening stores in parallel.<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      ThreadPoolExecutor storeOpenerThreadPool =<a name="line.902"></a>
-<span class="sourceLineNo">903</span>        getStoreOpenAndCloseThreadPool("StoreOpener-" + this.getRegionInfo().getShortNameToLog());<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      CompletionService&lt;HStore&gt; completionService =<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        new ExecutorCompletionService&lt;HStore&gt;(storeOpenerThreadPool);<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span>      // initialize each store in parallel<a name="line.907"></a>
-<span class="sourceLineNo">908</span>      for (final HColumnDescriptor family : htableDescriptor.getFamilies()) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        status.setStatus("Instantiating store for column family " + family);<a name="line.909"></a>
-<span class="sourceLineNo">910</span>        completionService.submit(new Callable&lt;HStore&gt;() {<a name="line.910"></a>
-<span class="sourceLineNo">911</span>          @Override<a name="line.911"></a>
-<span class="sourceLineNo">912</span>          public HStore call() throws IOException {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>            return instantiateHStore(family);<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>      boolean allStoresOpened = false;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>      try {<a name="line.918"></a>
-<span class="sourceLineNo">919</span>        for (int i = 0; i &lt; htableDescriptor.getFamilies().size(); i++) {<a name="line.919"></a>
-<span class="sourceLineNo">920</span>          Future&lt;HStore&gt; future = completionService.take();<a name="line.920"></a>
-<span class="sourceLineNo">921</span>          HStore store = future.get();<a name="line.921"></a>
-<span class="sourceLineNo">922</span>          this.stores.put(store.getFamily().getName(), store);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>          long storeMaxSequenceId = store.getMaxSequenceId();<a name="line.924"></a>
-<span class="sourceLineNo">925</span>          maxSeqIdInStores.put(store.getColumnFamilyName().getBytes(),<a name="line.925"></a>
-<span class="sourceLineNo">926</span>              storeMaxSequenceId);<a name="line.926"></a>
-<span class="sourceLineNo">927</span>          if (maxSeqId == -1 || storeMaxSequenceId &gt; maxSeqId) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>            maxSeqId = storeMaxSequenceId;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>          }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>          long maxStoreMemstoreTS = store.getMaxMemstoreTS();<a name="line.930"></a>
-<span class="sourceLineNo">931</span>          if (maxStoreMemstoreTS &gt; maxMemstoreTS) {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>            maxMemstoreTS = maxStoreMemstoreTS;<a name="line.932"></a>
-<span class="sourceLineNo">933</span>          }<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        }<a name="line.934"></a>
-<span class="sourceLineNo">935</span>        allStoresOpened = true;<a name="line.935"></a>
-<span class="sourceLineNo">936</span>      } catch (InterruptedException e) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>        throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>      } catch (ExecutionException e) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span>        throw new IOException(e.getCause());<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      } finally {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        storeOpenerThreadPool.shutdownNow();<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        if (!allStoresOpened) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>          // something went wrong, close all opened stores<a name="line.943"></a>
-<span class="sourceLineNo">944</span>          LOG.error("Could not initialize all stores for the region=" + this);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>          for (Store store : this.stores.values()) {<a name="line.945"></a>
-<span class="sourceLineNo">946</span>            try {<a name="line.946"></a>
-<span class="sourceLineNo">947</span>              store.close();<a name="line.947"></a>
-<span class="sourceLineNo">948</span>            } catch (IOException e) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>              LOG.warn(e.getMessage());<a name="line.949"></a>
-<span class="sourceLineNo">950</span>            }<a name="line.950"></a>
-<span class="sourceLineNo">951</span>          }<a name="line.951"></a>
-<span class="sourceLineNo">952</span>        }<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      }<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    return Math.max(maxSeqId, maxMemstoreTS + 1);<a name="line.955"></a>
-<span class="sourceLineNo">956</span>  }<a name="line.956"></a>
-<span class="sourceLineNo">957</span><a name="line.957"></a>
-<span class="sourceLineNo">958</span>  private void initializeWarmup(final CancelableProgressable reporter) throws IOException {<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.959"></a>
-<span class="sourceLineNo">960</span><a name="line.960"></a>
-<span class="sourceLineNo">961</span>    // Initialize all the HStores<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    status.setStatus("Warming up all the Stores");<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    initializeStores(reporter, status);<a name="line.963"></a>
-<span class="sourceLineNo">964</span>  }<a name="line.964"></a>
-<span class="sourceLineNo">965</span><a name="line.965"></a>
-<span class="sourceLineNo">966</span>  /**<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   * @return Map of StoreFiles by column family<a name="line.967"></a>
-<span class="sourceLineNo">968</span>   */<a name="line.968"></a>
-<span class="sourceLineNo">969</span>  private NavigableMap&lt;byte[], List&lt;Path&gt;&gt; getStoreFiles() {<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    NavigableMap&lt;byte[], List&lt;Path&gt;&gt; allStoreFiles =<a name="line.970"></a>
-<span class="sourceLineNo">971</span>      new TreeMap&lt;byte[], List&lt;Path&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    for (Store store: getStores()) {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.973"></a>
-<span class="sourceLineNo">974</span>      if (storeFiles == null) continue;<a name="line.974"></a>
-<span class="sourceLineNo">975</span>      List&lt;Path&gt; storeFileNames = new ArrayList&lt;Path&gt;();<a name="line.975"></a>
-<span class="sourceLineNo">976</span>      for (StoreFile storeFile: storeFiles) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>        storeFileNames.add(storeFile.getPath());<a name="line.977"></a>
-<span class="sourceLineNo">978</span>      }<a name="line.978"></a>
-<span class="sourceLineNo">979</span>      allStoreFiles.put(store.getFamily().getName(), storeFileNames);<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    }<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    return allStoreFiles;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>  }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>  private void writeRegionOpenMarker(WAL wal, long openSeqId) throws IOException {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    RegionEventDescriptor regionOpenDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      RegionEventDescriptor.EventType.REGION_OPEN, getRegionInfo(), openSeqId,<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.988"></a>
-<span class="sourceLineNo">989</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionOpenDesc, mvcc);<a name="line.989"></a>
-<span class="sourceLineNo">990</span>  }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>  private void writeRegionCloseMarker(WAL wal) throws IOException {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    RegionEventDescriptor regionEventDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.994"></a>
-<span class="sourceLineNo">995</span>      RegionEventDescriptor.EventType.REGION_CLOSE, getRegionInfo(), mvcc.getReadPoint(),<a name="line.995"></a>
-<span class="sourceLineNo">996</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionEventDesc, mvcc);<a name="line.997"></a>
-<span class="sourceLineNo">998</span><a name="line.998"></a>
-<span class="sourceLineNo">999</span>    // Store SeqId in HDFS when a region closes<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    // checking region folder exists is due to many tests which delete the table folder while a<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    // table is still online<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    if (this.fs.getFileSystem().exists(this.fs.getRegionDir())) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>      WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs.getRegionDir(),<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>        mvcc.getReadPoint(), 0);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>    }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>  }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>  /**<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>   * @return True if this region has references.<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>   */<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>  public boolean hasReferences() {<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    for (Store store : this.stores.values()) {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      if (store.hasReferences()) return true;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>    return false;<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>  }<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span><a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  @Override<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  public HDFSBlocksDistribution getHDFSBlocksDistribution() {<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      new HDFSBlocksDistribution();<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    synchronized (this.stores) {<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>      for (Store store : this.stores.values()) {<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>        Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>        if (storeFiles == null) continue;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>        for (StoreFile sf : storeFiles) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>          HDFSBlocksDistribution storeFileBlocksDistribution =<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>            sf.getHDFSBlockDistribution();<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>          hdfsBlocksDistribution.add(storeFileBlocksDistribution);<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>    }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>    return hdfsBlocksDistribution;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>  /**<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>   * @param conf configuration<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>   * @param regionInfo encoded name of the region<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   * @throws IOException<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   */<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo) throws IOException {<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    Path tablePath = FSUtils.getTableDir(FSUtils.getRootDir(conf), tableDescriptor.getTableName());<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>    return computeHDFSBlocksDistribution(conf, tableDescriptor, regionInfo, tablePath);<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  }<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span><a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  /**<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>   * @param conf configuration<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * @param regionInfo encoded name of the region<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * @param tablePath the table directory<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>   * @throws IOException<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>   */<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo,  Path tablePath)<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>      throws IOException {<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    HDFSBlocksDistribution hdfsBlocksDistribution = new HDFSBlocksDistribution();<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>    FileSystem fs = tablePath.getFileSystem(conf);<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span><a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    HRegionFileSystem regionFs = new HRegionFileSystem(conf, fs, tablePath, regionInfo);<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    for (HColumnDescriptor family: tableDescriptor.getFamilies()) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      Collection&lt;StoreFileInfo&gt; storeFiles = regionFs.getStoreFiles(family.getNameAsString());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>      if (storeFiles == null) continue;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>      for (StoreFileInfo storeFileInfo : storeFiles) {<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>        try {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>          hdfsBlocksDistribution.add(storeFileInfo.computeHDFSBlocksDistribution(fs));<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        } catch (IOException ioe) {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>          LOG.warn("Error getting hdfs block distribution for " + storeFileInfo);<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>        }<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    return hdfsBlocksDistribution;<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>  /**<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>   * Increase the size of mem store in this region and the size of global mem<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>   * store<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>   * @return the size of memstore in this region<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   */<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>  public long addAndGetGlobalMemstoreSize(long memStoreSize) {<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    if (this.rsAccounting != null) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>      rsAccounting.addAndGetGlobalMemstoreSize(memStoreSize);<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>    }<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    return this.memstoreSize.addAndGet(memStoreSize);<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  }<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span><a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>  @Override<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>  public HRegionInfo getRegionInfo() {<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>    return this.fs.getRegionInfo();<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  }<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>   * @return Instance of {@link RegionServerServices} used by this HRegion.<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * Can be null.<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   */<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>  RegionServerServices getRegionServerServices() {<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    return this.rsServices;<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  }<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span><a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  @Override<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>  public long getReadRequestsCount() {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    return readRequestsCount.get();<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>  }<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span><a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>  @Override<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  public void updateReadRequestsCount(long i) {<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>    readRequestsCount.add(i);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  }<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  @Override<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  public long getWriteRequestsCount() {<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    return writeRequestsCount.get();<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>  @Override<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public void updateWriteRequestsCount(long i) {<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    writeRequestsCount.add(i);<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  }<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span><a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  @Override<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  public long getMemstoreSize() {<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>    return memstoreSize.get();<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  }<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span><a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>  @Override<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  public long getNumMutationsWithoutWAL() {<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>    return numMutationsWithoutWAL.get();<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>  }<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  @Override<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public long getDataInMemoryWithoutWAL() {<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    return dataInMemoryWithoutWAL.get();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span><a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>  @Override<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  public long getBlockedRequestsCount() {<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>    return blockedRequestsCount.get();<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>  }<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span><a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  @Override<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  public long getCheckAndMutateChecksPassed() {<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    return checkAndMutateChecksPassed.get();<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>  @Override<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>  public long getCheckAndMutateChecksFailed() {<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    return checkAndMutateChecksFailed.get();<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>  }<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span><a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  @Override<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>  public MetricsRegion getMetrics() {<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    return metricsRegion;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>  }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span><a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>  @Override<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public boolean isClosed() {<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>    return this.closed.get();<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  }<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span><a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  @Override<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  public boolean isClosing() {<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>    return this.closing.get();<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  }<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>  @Override<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>  public boolean isReadOnly() {<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>    return this.writestate.isReadOnly();<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>  }<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span><a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>  /**<a name="line.1175"></a>
-<span class="

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
index 4078580..b9f3a92 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
@@ -1526,1902 +1526,1903 @@
 <span class="sourceLineNo">1518</span>      .setTotalStaticIndexSizeKB(totalStaticIndexSizeKB)<a name="line.1518"></a>
 <span class="sourceLineNo">1519</span>      .setTotalStaticBloomSizeKB(totalStaticBloomSizeKB)<a name="line.1519"></a>
 <span class="sourceLineNo">1520</span>      .setReadRequestsCount(r.getReadRequestsCount())<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>      .setWriteRequestsCount(r.getWriteRequestsCount())<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>      .setTotalCompactingKVs(totalCompactingKVs)<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>      .setCurrentCompactedKVs(currentCompactedKVs)<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span>      .setDataLocality(dataLocality)<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>      .setLastMajorCompactionTs(r.getOldestHfileTs(true));<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span>    ((HRegion)r).setCompleteSequenceId(regionLoadBldr);<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span><a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>    return regionLoadBldr.build();<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>  }<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span><a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>  /**<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>   * @param encodedRegionName<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>   * @return An instance of RegionLoad.<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>   */<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>  public RegionLoad createRegionLoad(final String encodedRegionName) throws IOException {<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>    Region r = onlineRegions.get(encodedRegionName);<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span>    return r != null ? createRegionLoad(r, null, null) : null;<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>  /*<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>   * Inner class that runs on a long period checking if regions need compaction.<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span>   */<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>  private static class CompactionChecker extends ScheduledChore {<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>    private final HRegionServer instance;<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span>    private final int majorCompactPriority;<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>    private final static int DEFAULT_PRIORITY = Integer.MAX_VALUE;<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>    private long iteration = 0;<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span><a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>    CompactionChecker(final HRegionServer h, final int sleepTime,<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span>        final Stoppable stopper) {<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>      super("CompactionChecker", stopper, sleepTime);<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>      this.instance = h;<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span>      LOG.info(this.getName() + " runs every " + StringUtils.formatTime(sleepTime));<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span><a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>      /* MajorCompactPriority is configurable.<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>       * If not set, the compaction will use default priority.<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>       */<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>      this.majorCompactPriority = this.instance.conf.<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span>        getInt("hbase.regionserver.compactionChecker.majorCompactPriority",<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>        DEFAULT_PRIORITY);<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>    }<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span><a name="line.1562"></a>
-<span class="sourceLineNo">1563</span>    @Override<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>    protected void chore() {<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>      for (Region r : this.instance.onlineRegions.values()) {<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>        if (r == null)<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>          continue;<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>        for (Store s : r.getStores()) {<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span>          try {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>            long multiplier = s.getCompactionCheckMultiplier();<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span>            assert multiplier &gt; 0;<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>            if (iteration % multiplier != 0) continue;<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>            if (s.needsCompaction()) {<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>              // Queue a compaction. Will recognize if major is needed.<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>              this.instance.compactSplitThread.requestSystemCompaction(r, s, getName()<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span>                  + " requests compaction");<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>            } else if (s.isMajorCompaction()) {<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>              if (majorCompactPriority == DEFAULT_PRIORITY<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>                  || majorCompactPriority &gt; ((HRegion)r).getCompactPriority()) {<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>                this.instance.compactSplitThread.requestCompaction(r, s, getName()<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>                    + " requests major compaction; use default priority", null);<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>              } else {<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>                this.instance.compactSplitThread.requestCompaction(r, s, getName()<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>                    + " requests major compaction; use configured priority",<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>                  this.majorCompactPriority, null, null);<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>              }<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>            }<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>          } catch (IOException e) {<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span>            LOG.warn("Failed major compaction check on " + r, e);<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>          }<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>        }<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>      }<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>      iteration = (iteration == Long.MAX_VALUE) ? 0 : (iteration + 1);<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>    }<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>  }<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span><a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>  static class PeriodicMemstoreFlusher extends ScheduledChore {<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>    final HRegionServer server;<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>    final static int RANGE_OF_DELAY = 5 * 60 * 1000; // 5 min in milliseconds<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>    final static int MIN_DELAY_TIME = 0; // millisec<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>    public PeriodicMemstoreFlusher(int cacheFlushInterval, final HRegionServer server) {<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>      super(server.getServerName() + "-MemstoreFlusherChore", server, cacheFlushInterval);<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>      this.server = server;<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>    }<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span><a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>    @Override<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>    protected void chore() {<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>      final StringBuffer whyFlush = new StringBuffer();<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>      for (Region r : this.server.onlineRegions.values()) {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>        if (r == null) continue;<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>        if (((HRegion)r).shouldFlush(whyFlush)) {<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>          FlushRequester requester = server.getFlushRequester();<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>          if (requester != null) {<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>            long randomDelay = RandomUtils.nextInt(RANGE_OF_DELAY) + MIN_DELAY_TIME;<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span>            LOG.info(getName() + " requesting flush of " +<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>              r.getRegionInfo().getRegionNameAsString() + " because " +<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>              whyFlush.toString() +<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>              " after random delay " + randomDelay + "ms");<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>            //Throttle the flushes by putting a delay. If we don't throttle, and there<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>            //is a balanced write-load on the regions in a table, we might end up<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>            //overwhelming the filesystem with too many flushes at once.<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>            requester.requestDelayedFlush(r, randomDelay, false);<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>          }<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>        }<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>      }<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><a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>  /**<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>   * Report the status of the server. A server is online once all the startup is<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>   * completed (setting up filesystem, starting service threads, etc.). This<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>   * method is designed mostly to be useful in tests.<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>   *<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>   * @return true if online, false if not.<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>   */<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>  public boolean isOnline() {<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>    return online.get();<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>  }<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span><a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>  /**<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>   * Setup WAL log and replication if enabled.<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>   * Replication setup is done in here because it wants to be hooked up to WAL.<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>   * @return A WAL instance.<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>   * @throws IOException<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>   */<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>  private WALFactory setupWALAndReplication() throws IOException {<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>    // TODO Replication make assumptions here based on the default filesystem impl<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>    final Path oldLogDir = new Path(rootDir, HConstants.HREGION_OLDLOGDIR_NAME);<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>    final String logName = DefaultWALProvider.getWALDirectoryName(this.serverName.toString());<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span><a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>    Path logdir = new Path(rootDir, logName);<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>    if (LOG.isDebugEnabled()) LOG.debug("logdir=" + logdir);<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>    if (this.fs.exists(logdir)) {<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>      throw new RegionServerRunningException("Region server has already " +<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>        "created directory at " + this.serverName.toString());<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>    }<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span><a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>    // Instantiate replication manager if replication enabled.  Pass it the<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>    // log directories.<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>    createNewReplicationInstance(conf, this, this.fs, logdir, oldLogDir);<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span><a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>    // listeners the wal factory will add to wals it creates.<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>    final List&lt;WALActionsListener&gt; listeners = new ArrayList&lt;WALActionsListener&gt;();<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>    listeners.add(new MetricsWAL());<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>    if (this.replicationSourceHandler != null &amp;&amp;<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>        this.replicationSourceHandler.getWALActionsListener() != null) {<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>      // Replication handler is an implementation of WALActionsListener.<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>      listeners.add(this.replicationSourceHandler.getWALActionsListener());<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>    }<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span><a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>    return new WALFactory(conf, listeners, serverName.toString());<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>  }<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span><a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>  /**<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>   * We initialize the roller for the wal that handles meta lazily<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>   * since we don't know if this regionserver will handle it. All calls to<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>   * this method return a reference to the that same roller. As newly referenced<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>   * meta regions are brought online, they will be offered to the roller for maintenance.<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>   * As a part of that registration process, the roller will add itself as a<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>   * listener on the wal.<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>   */<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>  protected LogRoller ensureMetaWALRoller() {<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>    // Using a tmp log roller to ensure metaLogRoller is alive once it is not<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>    // null<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>    LogRoller roller = metawalRoller.get();<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>    if (null == roller) {<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>      LogRoller tmpLogRoller = new LogRoller(this, this);<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>      String n = Thread.currentThread().getName();<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>      Threads.setDaemonThreadRunning(tmpLogRoller.getThread(),<a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>          n + "-MetaLogRoller", uncaughtExceptionHandler);<a name="line.1690"></a>
-<span class="sourceLineNo">1691</span>      if (metawalRoller.compareAndSet(null, tmpLogRoller)) {<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span>        roller = tmpLogRoller;<a name="line.1692"></a>
-<span class="sourceLineNo">1693</span>      } else {<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span>        // Another thread won starting the roller<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>        Threads.shutdown(tmpLogRoller.getThread());<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span>        roller = metawalRoller.get();<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>      }<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>    }<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span>    return roller;<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>  }<a name="line.1700"></a>
-<span class="sourceLineNo">1701</span><a name="line.1701"></a>
-<span class="sourceLineNo">1702</span>  public MetricsRegionServer getRegionServerMetrics() {<a name="line.1702"></a>
-<span class="sourceLineNo">1703</span>    return this.metricsRegionServer;<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span>  }<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span><a name="line.1705"></a>
-<span class="sourceLineNo">1706</span>  /**<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span>   * @return Master address tracker instance.<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span>   */<a name="line.1708"></a>
-<span class="sourceLineNo">1709</span>  public MasterAddressTracker getMasterAddressTracker() {<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>    return this.masterAddressTracker;<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span>  }<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span><a name="line.1712"></a>
-<span class="sourceLineNo">1713</span>  /*<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span>   * Start maintenance Threads, Server, Worker and lease checker threads.<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>   * Install an UncaughtExceptionHandler that calls abort of RegionServer if we<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span>   * get an unhandled exception. We cannot set the handler on all threads.<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span>   * Server's internal Listener thread is off limits. For Server, if an OOME, it<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span>   * waits a while then retries. Meantime, a flush or a compaction that tries to<a name="line.1718"></a>
-<span class="sourceLineNo">1719</span>   * run should trigger same critical condition and the shutdown will run. On<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>   * its way out, this server will shut down Server. Leases are sort of<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span>   * inbetween. It has an internal thread that while it inherits from Chore, it<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span>   * keeps its own internal stop mechanism so needs to be stopped by this<a name="line.1722"></a>
-<span class="sourceLineNo">1723</span>   * hosting server. Worker logs the exception and exits.<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span>   */<a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>  private void startServiceThreads() throws IOException {<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span>    // Start executor services<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span>    this.service.startExecutorService(ExecutorType.RS_OPEN_REGION,<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span>      conf.getInt("hbase.regionserver.executor.openregion.threads", 3));<a name="line.1728"></a>
-<span class="sourceLineNo">1729</span>    this.service.startExecutorService(ExecutorType.RS_OPEN_META,<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>      conf.getInt("hbase.regionserver.executor.openmeta.threads", 1));<a name="line.1730"></a>
-<span class="sourceLineNo">1731</span>    this.service.startExecutorService(ExecutorType.RS_CLOSE_REGION,<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span>      conf.getInt("hbase.regionserver.executor.closeregion.threads", 3));<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span>    this.service.startExecutorService(ExecutorType.RS_CLOSE_META,<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span>      conf.getInt("hbase.regionserver.executor.closemeta.threads", 1));<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>    if (conf.getBoolean(StoreScanner.STORESCANNER_PARALLEL_SEEK_ENABLE, false)) {<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span>      this.service.startExecutorService(ExecutorType.RS_PARALLEL_SEEK,<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span>        conf.getInt("hbase.storescanner.parallel.seek.threads", 10));<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span>    }<a name="line.1738"></a>
-<span class="sourceLineNo">1739</span>    this.service.startExecutorService(ExecutorType.RS_LOG_REPLAY_OPS, conf.getInt(<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>       "hbase.regionserver.wal.max.splitters", SplitLogWorkerCoordination.DEFAULT_MAX_SPLITTERS));<a name="line.1740"></a>
-<span class="sourceLineNo">1741</span>    // Start the threads for compacted files discharger<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span>    this.service.startExecutorService(ExecutorType.RS_COMPACTED_FILES_DISCHARGER,<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span>      conf.getInt(CompactionConfiguration.HBASE_HFILE_COMPACTION_DISCHARGER_THREAD_COUNT, 10));<a name="line.1743"></a>
-<span class="sourceLineNo">1744</span>    if (ServerRegionReplicaUtil.isRegionReplicaWaitForPrimaryFlushEnabled(conf)) {<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span>      this.service.startExecutorService(ExecutorType.RS_REGION_REPLICA_FLUSH_OPS,<a name="line.1745"></a>
-<span class="sourceLineNo">1746</span>        conf.getInt("hbase.regionserver.region.replica.flusher.threads",<a name="line.1746"></a>
-<span class="sourceLineNo">1747</span>          conf.getInt("hbase.regionserver.executor.openregion.threads", 3)));<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span>    }<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span><a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>    Threads.setDaemonThreadRunning(this.walRoller.getThread(), getName() + ".logRoller",<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span>        uncaughtExceptionHandler);<a name="line.1751"></a>
-<span class="sourceLineNo">1752</span>    this.cacheFlusher.start(uncaughtExceptionHandler);<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span><a name="line.1753"></a>
-<span class="sourceLineNo">1754</span>    if (this.compactionChecker != null) choreService.scheduleChore(compactionChecker);<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>    if (this.periodicFlusher != null) choreService.scheduleChore(periodicFlusher);<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span>    if (this.healthCheckChore != null) choreService.scheduleChore(healthCheckChore);<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span>    if (this.nonceManagerChore != null) choreService.scheduleChore(nonceManagerChore);<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span>    if (this.storefileRefresher != null) choreService.scheduleChore(storefileRefresher);<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span>    if (this.movedRegionsCleaner != null) choreService.scheduleChore(movedRegionsCleaner);<a name="line.1759"></a>
-<span class="sourceLineNo">1760</span><a name="line.1760"></a>
-<span class="sourceLineNo">1761</span>    // Leases is not a Thread. Internally it runs a daemon thread. If it gets<a name="line.1761"></a>
-<span class="sourceLineNo">1762</span>    // an unhandled exception, it will just exit.<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span>    Threads.setDaemonThreadRunning(this.leases.getThread(), getName() + ".leaseChecker",<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span>      uncaughtExceptionHandler);<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span><a name="line.1765"></a>
-<span class="sourceLineNo">1766</span>    if (this.replicationSourceHandler == this.replicationSinkHandler &amp;&amp;<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span>        this.replicationSourceHandler != null) {<a name="line.1767"></a>
-<span class="sourceLineNo">1768</span>      this.replicationSourceHandler.startReplicationService();<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span>    } else {<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span>      if (this.replicationSourceHandler != null) {<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span>        this.replicationSourceHandler.startReplicationService();<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span>      }<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span>      if (this.replicationSinkHandler != null) {<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span>        this.replicationSinkHandler.startReplicationService();<a name="line.1774"></a>
-<span class="sourceLineNo">1775</span>      }<a name="line.1775"></a>
-<span class="sourceLineNo">1776</span>    }<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span><a name="line.1777"></a>
-<span class="sourceLineNo">1778</span>    // Create the log splitting worker and start it<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span>    // set a smaller retries to fast fail otherwise splitlogworker could be blocked for<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span>    // quite a while inside HConnection layer. The worker won't be available for other<a name="line.1780"></a>
-<span class="sourceLineNo">1781</span>    // tasks even after current task is preempted after a split task times out.<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span>    Configuration sinkConf = HBaseConfiguration.create(conf);<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span>    sinkConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.1783"></a>
-<span class="sourceLineNo">1784</span>      conf.getInt("hbase.log.replay.retries.number", 8)); // 8 retries take about 23 seconds<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span>    sinkConf.setInt(HConstants.HBASE_RPC_TIMEOUT_KEY,<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span>      conf.getInt("hbase.log.replay.rpc.timeout", 30000)); // default 30 seconds<a name="line.1786"></a>
-<span class="sourceLineNo">1787</span>    sinkConf.setInt("hbase.client.serverside.retries.multiplier", 1);<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span>    this.splitLogWorker = new SplitLogWorker(this, sinkConf, this, this, walFactory);<a name="line.1788"></a>
-<span class="sourceLineNo">1789</span>    splitLogWorker.start();<a name="line.1789"></a>
-<span class="sourceLineNo">1790</span>  }<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span><a name="line.1791"></a>
-<span class="sourceLineNo">1792</span>  /**<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span>   * Puts up the webui.<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span>   * @return Returns final port -- maybe different from what we started with.<a name="line.1794"></a>
-<span class="sourceLineNo">1795</span>   * @throws IOException<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span>   */<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span>  private int putUpWebUI() throws IOException {<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span>    int port = this.conf.getInt(HConstants.REGIONSERVER_INFO_PORT,<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span>      HConstants.DEFAULT_REGIONSERVER_INFOPORT);<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span>    String addr = this.conf.get("hbase.regionserver.info.bindAddress", "0.0.0.0");<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span><a name="line.1801"></a>
-<span class="sourceLineNo">1802</span>    if(this instanceof HMaster) {<a name="line.1802"></a>
-<span class="sourceLineNo">1803</span>      port = conf.getInt(HConstants.MASTER_INFO_PORT,<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span>          HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.1804"></a>
-<span class="sourceLineNo">1805</span>      addr = this.conf.get("hbase.master.info.bindAddress", "0.0.0.0");<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span>    }<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span>    // -1 is for disabling info server<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span>    if (port &lt; 0) return port;<a name="line.1808"></a>
-<span class="sourceLineNo">1809</span><a name="line.1809"></a>
-<span class="sourceLineNo">1810</span>    if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {<a name="line.1810"></a>
-<span class="sourceLineNo">1811</span>      String msg =<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span>          "Failed to start http info server. Address " + addr<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span>              + " does not belong to this host. Correct configuration parameter: "<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span>              + "hbase.regionserver.info.bindAddress";<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span>      LOG.error(msg);<a name="line.1815"></a>
-<span class="sourceLineNo">1816</span>      throw new IOException(msg);<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span>    }<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span>    // check if auto port bind enabled<a name="line.1818"></a>
-<span class="sourceLineNo">1819</span>    boolean auto = this.conf.getBoolean(HConstants.REGIONSERVER_INFO_PORT_AUTO,<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span>        false);<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span>    while (true) {<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span>      try {<a name="line.1822"></a>
-<span class="sourceLineNo">1823</span>        this.infoServer = new InfoServer(getProcessName(), addr, port, false, this.conf);<a name="line.1823"></a>
-<span class="sourceLineNo">1824</span>        infoServer.addServlet("dump", "/dump", getDumpServlet());<a name="line.1824"></a>
-<span class="sourceLineNo">1825</span>        configureInfoServer();<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span>        this.infoServer.start();<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span>        break;<a name="line.1827"></a>
-<span class="sourceLineNo">1828</span>      } catch (BindException e) {<a name="line.1828"></a>
-<span class="sourceLineNo">1829</span>        if (!auto) {<a name="line.1829"></a>
-<span class="sourceLineNo">1830</span>          // auto bind disabled throw BindException<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span>          LOG.error("Failed binding http info server to port: " + port);<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span>          throw e;<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span>        }<a name="line.1833"></a>
-<span class="sourceLineNo">1834</span>        // auto bind enabled, try to use another port<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span>        LOG.info("Failed binding http info server to port: " + port);<a name="line.1835"></a>
-<span class="sourceLineNo">1836</span>        port++;<a name="line.1836"></a>
-<span class="sourceLineNo">1837</span>      }<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span>    }<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span>    port = this.infoServer.getPort();<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span>    conf.setInt(HConstants.REGIONSERVER_INFO_PORT, port);<a name="line.1840"></a>
-<span class="sourceLineNo">1841</span>    int masterInfoPort = conf.getInt(HConstants.MASTER_INFO_PORT,<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span>      HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span>    conf.setInt("hbase.master.info.port.orig", masterInfoPort);<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span>    conf.setInt(HConstants.MASTER_INFO_PORT, port);<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span>    return port;<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span>  }<a name="line.1846"></a>
-<span class="sourceLineNo">1847</span><a name="line.1847"></a>
-<span class="sourceLineNo">1848</span>  /*<a name="line.1848"></a>
-<span class="sourceLineNo">1849</span>   * Verify that server is healthy<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span>   */<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span>  private boolean isHealthy() {<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span>    if (!fsOk) {<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span>      // File system problem<a name="line.1853"></a>
-<span class="sourceLineNo">1854</span>      return false;<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span>    }<a name="line.1855"></a>
-<span class="sourceLineNo">1856</span>    // Verify that all threads are alive<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span>    if (!(leases.isAlive()<a name="line.1857"></a>
-<span class="sourceLineNo">1858</span>        &amp;&amp; cacheFlusher.isAlive() &amp;&amp; walRoller.isAlive()<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span>        &amp;&amp; this.compactionChecker.isScheduled()<a name="line.1859"></a>
-<span class="sourceLineNo">1860</span>        &amp;&amp; this.periodicFlusher.isScheduled())) {<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span>      stop("One or more threads are no longer alive -- stop");<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span>      return false;<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span>    }<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span>    final LogRoller metawalRoller = this.metawalRoller.get();<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span>    if (metawalRoller != null &amp;&amp; !metawalRoller.isAlive()) {<a name="line.1865"></a>
-<span class="sourceLineNo">1866</span>      stop("Meta WAL roller thread is no longer alive -- stop");<a name="line.1866"></a>
-<span class="sourceLineNo">1867</span>      return false;<a name="line.1867"></a>
-<span class="sourceLineNo">1868</span>    }<a name="line.1868"></a>
-<span class="sourceLineNo">1869</span>    return true;<a name="line.1869"></a>
-<span class="sourceLineNo">1870</span>  }<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span><a name="line.1871"></a>
-<span class="sourceLineNo">1872</span>  private static final byte[] UNSPECIFIED_REGION = new byte[]{};<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span><a name="line.1873"></a>
-<span class="sourceLineNo">1874</span>  @Override<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span>  public WAL getWAL(HRegionInfo regionInfo) throws IOException {<a name="line.1875"></a>
-<span class="sourceLineNo">1876</span>    WAL wal;<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span>    LogRoller roller = walRoller;<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span>    //_ROOT_ and hbase:meta regions have separate WAL.<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span>    if (regionInfo != null &amp;&amp; regionInfo.isMetaTable() &amp;&amp;<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span>        regionInfo.getReplicaId() == HRegionInfo.DEFAULT_REPLICA_ID) {<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span>      roller = ensureMetaWALRoller();<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span>      wal = walFactory.getMetaWAL(regionInfo.getEncodedNameAsBytes());<a name="line.1882"></a>
-<span class="sourceLineNo">1883</span>    } else if (regionInfo == null) {<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span>      wal = walFactory.getWAL(UNSPECIFIED_REGION, null);<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span>    } else {<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span>      byte[] namespace = regionInfo.getTable().getNamespace();<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span>      wal = walFactory.getWAL(regionInfo.getEncodedNameAsBytes(), namespace);<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span>    }<a name="line.1888"></a>
-<span class="sourceLineNo">1889</span>    roller.addWAL(wal);<a name="line.1889"></a>
-<span class="sourceLineNo">1890</span>    return wal;<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span>  }<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span><a name="line.1892"></a>
-<span class="sourceLineNo">1893</span>  @Override<a name="line.1893"></a>
-<span class="sourceLineNo">1894</span>  public Connection getConnection() {<a name="line.1894"></a>
-<span class="sourceLineNo">1895</span>    return getClusterConnection();<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>  @Override<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>  public ClusterConnection getClusterConnection() {<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>    return this.clusterConnection;<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>  }<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span><a name="line.1902"></a>
-<span class="sourceLineNo">1903</span>  @Override<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>  public MetaTableLocator getMetaTableLocator() {<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>    return this.metaTableLocator;<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>  }<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span><a name="line.1907"></a>
-<span class="sourceLineNo">1908</span>  @Override<a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>  public void stop(final String msg) {<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>    if (!this.stopped) {<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>      try {<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>        if (this.rsHost != null) {<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>          this.rsHost.preStop(msg);<a name="line.1913"></a>
-<span class="sourceLineNo">1914</span>        }<a name="line.1914"></a>
-<span class="sourceLineNo">1915</span>        this.stopped = true;<a name="line.1915"></a>
-<span class="sourceLineNo">1916</span>        LOG.info("STOPPED: " + msg);<a name="line.1916"></a>
-<span class="sourceLineNo">1917</span>        // Wakes run() if it is sleeping<a name="line.1917"></a>
-<span class="sourceLineNo">1918</span>        sleeper.skipSleepCycle();<a name="line.1918"></a>
-<span class="sourceLineNo">1919</span>      } catch (IOException exp) {<a name="line.1919"></a>
-<span class="sourceLineNo">1920</span>        LOG.warn("The region server did not stop", exp);<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>  }<a name="line.1923"></a>
-<span class="sourceLineNo">1924</span><a name="line.1924"></a>
-<span class="sourceLineNo">1925</span>  public void waitForServerOnline(){<a name="line.1925"></a>
-<span class="sourceLineNo">1926</span>    while (!isStopped() &amp;&amp; !isOnline()) {<a name="line.1926"></a>
-<span class="sourceLineNo">1927</span>      synchronized (online) {<a name="line.1927"></a>
-<span class="sourceLineNo">1928</span>        try {<a name="line.1928"></a>
-<span class="sourceLineNo">1929</span>          online.wait(msgInterval);<a name="line.1929"></a>
-<span class="sourceLineNo">1930</span>        } catch (InterruptedException ie) {<a name="line.1930"></a>
-<span class="sourceLineNo">1931</span>          Thread.currentThread().interrupt();<a name="line.1931"></a>
-<span class="sourceLineNo">1932</span>          break;<a name="line.1932"></a>
-<span class="sourceLineNo">1933</span>        }<a name="line.1933"></a>
-<span class="sourceLineNo">1934</span>      }<a name="line.1934"></a>
-<span class="sourceLineNo">1935</span>    }<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 void postOpenDeployTasks(final Region r) throws KeeperException, IOException {<a name="line.1939"></a>
-<span class="sourceLineNo">1940</span>    postOpenDeployTasks(new PostOpenDeployContext(r, -1));<a name="line.1940"></a>
-<span class="sourceLineNo">1941</span>  }<a name="line.1941"></a>
-<span class="sourceLineNo">1942</span><a name="line.1942"></a>
-<span class="sourceLineNo">1943</span>  @Override<a name="line.1943"></a>
-<span class="sourceLineNo">1944</span>  public void postOpenDeployTasks(final PostOpenDeployContext context)<a name="line.1944"></a>
-<span class="sourceLineNo">1945</span>      throws KeeperException, IOException {<a name="line.1945"></a>
-<span class="sourceLineNo">1946</span>    Region r = context.getRegion();<a name="line.1946"></a>
-<span class="sourceLineNo">1947</span>    long masterSystemTime = context.getMasterSystemTime();<a name="line.1947"></a>
-<span class="sourceLineNo">1948</span>    Preconditions.checkArgument(r instanceof HRegion, "r must be an HRegion");<a name="line.1948"></a>
-<span class="sourceLineNo">1949</span>    rpcServices.checkOpen();<a name="line.1949"></a>
-<span class="sourceLineNo">1950</span>    LOG.info("Post open deploy tasks for " + r.getRegionInfo().getRegionNameAsString());<a name="line.1950"></a>
-<span class="sourceLineNo">1951</span>    // Do checks to see if we need to compact (references or too many files)<a name="line.1951"></a>
-<span class="sourceLineNo">1952</span>    for (Store s : r.getStores()) {<a name="line.1952"></a>
-<span class="sourceLineNo">1953</span>      if (s.hasReferences() || s.needsCompaction()) {<a name="line.1953"></a>
-<span class="sourceLineNo">1954</span>       this.compactSplitThread.requestSystemCompaction(r, s, "Opening Region");<a name="line.1954"></a>
-<span class="sourceLineNo">1955</span>      }<a name="line.1955"></a>
-<span class="sourceLineNo">1956</span>    }<a name="line.1956"></a>
-<span class="sourceLineNo">1957</span>    long openSeqNum = r.getOpenSeqNum();<a name="line.1957"></a>
-<span class="sourceLineNo">1958</span>    if (openSeqNum == HConstants.NO_SEQNUM) {<a name="line.1958"></a>
-<span class="sourceLineNo">1959</span>      // If we opened a region, we should have read some sequence number from it.<a name="line.1959"></a>
-<span class="sourceLineNo">1960</span>      LOG.error("No sequence number found when opening " +<a name="line.1960"></a>
-<span class="sourceLineNo">1961</span>        r.getRegionInfo().getRegionNameAsString());<a name="line.1961"></a>
-<span class="sourceLineNo">1962</span>      openSeqNum = 0;<a name="line.1962"></a>
-<span class="sourceLineNo">1963</span>    }<a name="line.1963"></a>
-<span class="sourceLineNo">1964</span><a name="line.1964"></a>
-<span class="sourceLineNo">1965</span>    // Update flushed sequence id of a recovering region in ZK<a name="line.1965"></a>
-<span class="sourceLineNo">1966</span>    updateRecoveringRegionLastFlushedSequenceId(r);<a name="line.1966"></a>
-<span class="sourceLineNo">1967</span><a name="line.1967"></a>
-<span class="sourceLineNo">1968</span>    // Notify master<a name="line.1968"></a>
-<span class="sourceLineNo">1969</span>    if (!reportRegionStateTransition(new RegionStateTransitionContext(<a name="line.1969"></a>
-<span class="sourceLineNo">1970</span>        TransitionCode.OPENED, openSeqNum, masterSystemTime, r.getRegionInfo()))) {<a name="line.1970"></a>
-<span class="sourceLineNo">1971</span>      throw new IOException("Failed to report opened region to master: "<a name="line.1971"></a>
-<span class="sourceLineNo">1972</span>        + r.getRegionInfo().getRegionNameAsString());<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>    triggerFlushInPrimaryRegion((HRegion)r);<a name="line.1975"></a>
-<span class="sourceLineNo">1976</span><a name="line.1976"></a>
-<span class="sourceLineNo">1977</span>    LOG.debug("Finished post open deploy task for " + r.getRegionInfo().getRegionNameAsString());<a name="line.1977"></a>
-<span class="sourceLineNo">1978</span>  }<a name="line.1978"></a>
-<span class="sourceLineNo">1979</span><a name="line.1979"></a>
-<span class="sourceLineNo">1980</span>  @Override<a name="line.1980"></a>
-<span class="sourceLineNo">1981</span>  public boolean reportRegionStateTransition(TransitionCode code, HRegionInfo... hris) {<a name="line.1981"></a>
-<span class="sourceLineNo">1982</span>    return reportRegionStateTransition(code, HConstants.NO_SEQNUM, hris);<a name="line.1982"></a>
-<span class="sourceLineNo">1983</span>  }<a name="line.1983"></a>
-<span class="sourceLineNo">1984</span><a name="line.1984"></a>
-<span class="sourceLineNo">1985</span>  @Override<a name="line.1985"></a>
-<span class="sourceLineNo">1986</span>  public boolean reportRegionStateTransition(<a name="line.1986"></a>
-<span class="sourceLineNo">1987</span>      TransitionCode code, long openSeqNum, HRegionInfo... hris) {<a name="line.1987"></a>
-<span class="sourceLineNo">1988</span>    return reportRegionStateTransition(<a name="line.1988"></a>
-<span class="sourceLineNo">1989</span>      new RegionStateTransitionContext(code, HConstants.NO_SEQNUM, -1, hris));<a name="line.1989"></a>
-<span class="sourceLineNo">1990</span>  }<a name="line.1990"></a>
-<span class="sourceLineNo">1991</span><a name="line.1991"></a>
-<span class="sourceLineNo">1992</span>  @Override<a name="line.1992"></a>
-<span class="sourceLineNo">1993</span>  public boolean reportRegionStateTransition(final RegionStateTransitionContext context) {<a name="line.1993"></a>
-<span class="sourceLineNo">1994</span>    TransitionCode code = context.getCode();<a name="line.1994"></a>
-<span class="sourceLineNo">1995</span>    long openSeqNum = context.getOpenSeqNum();<a name="line.1995"></a>
-<span class="sourceLineNo">1996</span>    long masterSystemTime = context.getMasterSystemTime();<a name="line.1996"></a>
-<span class="sourceLineNo">1997</span>    HRegionInfo[] hris = context.getHris();<a name="line.1997"></a>
-<span class="sourceLineNo">1998</span><a name="line.1998"></a>
-<span class="sourceLineNo">1999</span>    if (TEST_SKIP_REPORTING_TRANSITION) {<a name="line.1999"></a>
-<span class="sourceLineNo">2000</span>      // This is for testing only in case there is no master<a name="line.2000"></a>
-<span class="sourceLineNo">2001</span>      // to handle the region transition report at all.<a name="line.2001"></a>
-<span class="sourceLineNo">2002</span>      if (code == TransitionCode.OPENED) {<a name="line.2002"></a>
-<span class="sourceLineNo">2003</span>        Preconditions.checkArgument(hris != null &amp;&amp; hris.length == 1);<a name="line.2003"></a>
-<span class="sourceLineNo">2004</span>        if (hris[0].isMetaRegion()) {<a name="line.2004"></a>
-<span class="sourceLineNo">2005</span>          try {<a name="line.2005"></a>
-<span class="sourceLineNo">2006</span>            MetaTableLocator.setMetaLocation(getZooKeeper(), serverName,<a name="line.2006"></a>
-<span class="sourceLineNo">2007</span>                hris[0].getReplicaId(),State.OPEN);<a name="line.2007"></a>
-<span class="sourceLineNo">2008</span>          } catch (KeeperException e) {<a name="line.2008"></a>
-<span class="sourceLineNo">2009</span>            LOG.info("Failed to update meta location", e);<a name="line.2009"></a>
-<span class="sourceLineNo">2010</span>            return false;<a name="line.2010"></a>
-<span class="sourceLineNo">2011</span>          }<a name="line.2011"></a>
-<span class="sourceLineNo">2012</span>        } else {<a name="line.2012"></a>
-<span class="sourceLineNo">2013</span>          try {<a name="line.2013"></a>
-<span class="sourceLineNo">2014</span>            MetaTableAccessor.updateRegionLocation(clusterConnection,<a name="line.2014"></a>
-<span class="sourceLineNo">2015</span>              hris[0], serverName, openSeqNum, masterSystemTime);<a name="line.2015"></a>
-<span class="sourceLineNo">2016</span>          } catch (IOException e) {<a name="line.2016"></a>
-<span class="sourceLineNo">2017</span>            LOG.info("Failed to update meta", e);<a name="line.2017"></a>
-<span class="sourceLineNo">2018</span>            return false;<a name="line.2018"></a>
-<span class="sourceLineNo">2019</span>          }<a name="line.2019"></a>
-<span class="sourceLineNo">2020</span>        }<a name="line.2020"></a>
-<span class="sourceLineNo">2021</span>      }<a name="line.2021"></a>
-<span class="sourceLineNo">2022</span>      return true;<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>    ReportRegionStateTransitionRequest.Builder builder =<a name="line.2025"></a>
-<span class="sourceLineNo">2026</span>      ReportRegionStateTransitionRequest.newBuilder();<a name="line.2026"></a>
-<span class="sourceLineNo">2027</span>    builder.setServer(ProtobufUtil.toServerName(serverName));<a name="line.2027"></a>
-<span class="sourceLineNo">2028</span>    RegionStateTransition.Builder transition = builder.addTransitionBuilder();<a name="line.2028"></a>
-<span class="sourceLineNo">2029</span>    transition.setTransitionCode(code);<a name="line.2029"></a>
-<span class="sourceLineNo">2030</span>    if (code == TransitionCode.OPENED &amp;&amp; openSeqNum &gt;= 0) {<a name="line.2030"></a>
-<span class="sourceLineNo">2031</span>      transition.setOpenSeqNum(openSeqNum);<a name="line.2031"></a>
-<span class="sourceLineNo">2032</span>    }<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>    for (HRegionInfo hri: hris) {<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>      transition.addRegionInfo(HRegionInfo.convert(hri));<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span>    }<a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>    ReportRegionStateTransitionRequest request = builder.build();<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>    while (keepLooping()) {<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2038"></a>
-<span class="sourceLineNo">2039</span>      try {<a name="line.2039"></a>
-<span class="sourceLineNo">2040</span>        if (rss == null) {<a name="line.2040"></a>
-<span class="sourceLineNo">2041</span>          createRegionServerStatusStub();<a name="line.2041"></a>
-<span class="sourceLineNo">2042</span>          continue;<a name="line.2042"></a>
-<span class="sourceLineNo">2043</span>        }<a name="line.2043"></a>
-<span class="sourceLineNo">2044</span>        ReportRegionStateTransitionResponse response =<a name="line.2044"></a>
-<span class="sourceLineNo">2045</span>          rss.reportRegionStateTransition(null, request);<a name="line.2045"></a>
-<span class="sourceLineNo">2046</span>        if (response.hasErrorMessage()) {<a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>          LOG.info("Failed to transition " + hris[0]<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>            + " to " + code + ": " + response.getErrorMessage());<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>          return false;<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>        }<a name="line.2050"></a>
-<span class="sourceLineNo">2051</span>        return true;<a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>      } catch (ServiceException se) {<a name="line.2052"></a>
-<span class="sourceLineNo">2053</span>        IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>        LOG.info("Failed to report region transition, will retry", ioe);<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span>        if (rssStub == rss) {<a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>          rssStub = null;<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>    return false;<a name="line.2060"></a>
-<span class="sourceLineNo">2061</span>  }<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span><a name="line.2062"></a>
-<span class="sourceLineNo">2063</span>  /**<a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>   * Trigger a flush in the primary region replica if this region is a secondary replica. Does not<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span>   * block this thread. See RegionReplicaFlushHandler for details.<a name="line.2065"></a>
-<span class="sourceLineNo">2066</span>   */<a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>  void triggerFlushInPrimaryRegion(final HRegion region) {<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>    if (ServerRegionReplicaUtil.isDefaultReplica(region.getRegionInfo())) {<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span>      return;<a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>    }<a name="line.2070"></a>
-<span class="sourceLineNo">2071</span>    if (!ServerRegionReplicaUtil.isRegionReplicaReplicationEnabled(region.conf) ||<a name="line.2071"></a>
-<span class="sourceLineNo">2072</span>        !ServerRegionReplicaUtil.isRegionReplicaWaitForPrimaryFlushEnabled(<a name="line.2072"></a>
-<span class="sourceLineNo">2073</span>          region.conf)) {<a name="line.2073"></a>
-<span class="sourceLineNo">2074</span>      region.setReadsEnabled(true);<a name="line.2074"></a>
-<span class="sourceLineNo">2075</span>      return;<a name="line.2075"></a>
-<span class="sourceLineNo">2076</span>    }<a name="line.2076"></a>
-<span class="sourceLineNo">2077</span><a name="line.2077"></a>
-<span class="sourceLineNo">2078</span>    region.setReadsEnabled(false); // disable reads before marking the region as opened.<a name="line.2078"></a>
-<span class="sourceLineNo">2079</span>    // RegionReplicaFlushHandler might reset this.<a name="line.2079"></a>
-<span class="sourceLineNo">2080</span><a name="line.2080"></a>
-<span class="sourceLineNo">2081</span>    // submit it to be handled by one of the handlers so that we do not block OpenRegionHandler<a name="line.2081"></a>
-<span class="sourceLineNo">2082</span>    this.service.submit(<a name="line.2082"></a>
-<span class="sourceLineNo">2083</span>      new RegionReplicaFlushHandler(this, clusterConnection,<a name="line.2083"></a>
-<span class="sourceLineNo">2084</span>        rpcRetryingCallerFactory, rpcControllerFactory, operationTimeout, region));<a name="line.2084"></a>
-<span class="sourceLineNo">2085</span>  }<a name="line.2085"></a>
-<span class="sourceLineNo">2086</span><a name="line.2086"></a>
-<span class="sourceLineNo">2087</span>  @Override<a name="line.2087"></a>
-<span class="sourceLineNo">2088</span>  public RpcServerInterface getRpcServer() {<a name="line.2088"></a>
-<span class="sourceLineNo">2089</span>    return rpcServices.rpcServer;<a name="line.2089"></a>
-<span class="sourceLineNo">2090</span>  }<a name="line.2090"></a>
-<span class="sourceLineNo">2091</span><a name="line.2091"></a>
-<span class="sourceLineNo">2092</span>  @VisibleForTesting<a name="line.2092"></a>
-<span class="sourceLineNo">2093</span>  public RSRpcServices getRSRpcServices() {<a name="line.2093"></a>
-<span class="sourceLineNo">2094</span>    return rpcServices;<a name="line.2094"></a>
-<span class="sourceLineNo">2095</span>  }<a name="line.2095"></a>
-<span class="sourceLineNo">2096</span><a name="line.2096"></a>
-<span class="sourceLineNo">2097</span>  /**<a name="line.2097"></a>
-<span class="sourceLineNo">2098</span>   * Cause the server to exit without closing the regions it is serving, the log<a name="line.2098"></a>
-<span class="sourceLineNo">2099</span>   * it is using and without notifying the master. Used unit testing and on<a name="line.2099"></a>
-<span class="sourceLineNo">2100</span>   * catastrophic events such as HDFS is yanked out from under hbase or we OOME.<a name="line.2100"></a>
-<span class="sourceLineNo">2101</span>   *<a name="line.2101"></a>
-<span class="sourceLineNo">2102</span>   * @param reason<a name="line.2102"></a>
-<span class="sourceLineNo">2103</span>   *          the reason we are aborting<a name="line.2103"></a>
-<span class="sourceLineNo">2104</span>   * @param cause<a name="line.2104"></a>
-<span class="sourceLineNo">2105</span>   *          the exception that caused the abort, or null<a name="line.2105"></a>
-<span class="sourceLineNo">2106</span>   */<a name="line.2106"></a>
-<span class="sourceLineNo">2107</span>  @Override<a name="line.2107"></a>
-<span class="sourceLineNo">2108</span>  public void abort(String reason, Throwable cause) {<a name="line.2108"></a>
-<span class="sourceLineNo">2109</span>    String msg = "ABORTING region server " + this + ": " + reason;<a name="line.2109"></a>
-<span class="sourceLineNo">2110</span>    if (cause != null) {<a name="line.2110"></a>
-<span class="sourceLineNo">2111</span>      LOG.fatal(msg, cause);<a name="line.2111"></a>
-<span class="sourceLineNo">2112</span>    } else {<a name="line.2112"></a>
-<span class="sourceLineNo">2113</span>      LOG.fatal(msg);<a name="line.2113"></a>
-<span class="sourceLineNo">2114</span>    }<a name="line.2114"></a>
-<span class="sourceLineNo">2115</span>    this.abortRequested = true;<a name="line.2115"></a>
-<span class="sourceLineNo">2116</span>    // HBASE-4014: show list of coprocessors that were loaded to help debug<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span>    // regionserver crashes.Note that we're implicitly using<a name="line.2117"></a>
-<span class="sourceLineNo">2118</span>    // java.util.HashSet's toString() method to print the coprocessor names.<a name="line.2118"></a>
-<span class="sourceLineNo">2119</span>    LOG.fatal("RegionServer abort: loaded coprocessors are: " +<a name="line.2119"></a>
-<span class="sourceLineNo">2120</span>        CoprocessorHost.getLoadedCoprocessors());<a name="line.2120"></a>
-<span class="sourceLineNo">2121</span>    // Try and dump metrics if abort -- might give clue as to how fatal came about....<a name="line.2121"></a>
-<span class="sourceLineNo">2122</span>    try {<a name="line.2122"></a>
-<span class="sourceLineNo">2123</span>      LOG.info("Dump of metrics as JSON on abort: " + JSONBean.dumpRegionServerMetrics());<a name="line.2123"></a>
-<span class="sourceLineNo">2124</span>    } catch (MalformedObjectNameException | IOException e) {<a name="line.2124"></a>
-<span class="sourceLineNo">2125</span>      LOG.warn("Failed dumping metrics", e);<a name="line.2125"></a>
-<span class="sourceLineNo">2126</span>    }<a name="line.2126"></a>
-<span class="sourceLineNo">2127</span><a name="line.2127"></a>
-<span class="sourceLineNo">2128</span>    // Do our best to report our abort to the master, but this may not work<a name="line.2128"></a>
-<span class="sourceLineNo">2129</span>    try {<a name="line.2129"></a>
-<span class="sourceLineNo">2130</span>      if (cause != null) {<a name="line.2130"></a>
-<span class="sourceLineNo">2131</span>        msg += "\nCause:\n" + StringUtils.stringifyException(cause);<a name="line.2131"></a>
-<span class="sourceLineNo">2132</span>      }<a name="line.2132"></a>
-<span class="sourceLineNo">2133</span>      // Report to the master but only if we have already registered with the master.<a name="line.2133"></a>
-<span class="sourceLineNo">2134</span>      if (rssStub != null &amp;&amp; this.serverName != null) {<a name="line.2134"></a>
-<span class="sourceLineNo">2135</span>        ReportRSFatalErrorRequest.Builder builder =<a name="line.2135"></a>
-<span class="sourceLineNo">2136</span>          ReportRSFatalErrorRequest.newBuilder();<a name="line.2136"></a>
-<span class="sourceLineNo">2137</span>        ServerName sn =<a name="line.2137"></a>
-<span class="sourceLineNo">2138</span>          ServerName.parseVersionedServerName(this.serverName.getVersionedBytes());<a name="line.2138"></a>
-<span class="sourceLineNo">2139</span>        builder.setServer(ProtobufUtil.toServerName(sn));<a name="line.2139"></a>
-<span class="sourceLineNo">2140</span>        builder.setErrorMessage(msg);<a name="line.2140"></a>
-<span class="sourceLineNo">2141</span>        rssStub.reportRSFatalError(null, builder.build());<a name="line.2141"></a>
-<span class="sourceLineNo">2142</span>      }<a name="line.2142"></a>
-<span class="sourceLineNo">2143</span>    } catch (Throwable t) {<a name="line.2143"></a>
-<span class="sourceLineNo">2144</span>      LOG.warn("Unable to report fatal error to master", t);<a name="line.2144"></a>
-<span class="sourceLineNo">2145</span>    }<a name="line.2145"></a>
-<span class="sourceLineNo">2146</span>    stop(reason);<a name="line.2146"></a>
-<span class="sourceLineNo">2147</span>  }<a name="line.2147"></a>
-<span class="sourceLineNo">2148</span><a name="line.2148"></a>
-<span class="sourceLineNo">2149</span>  /**<a name="line.2149"></a>
-<span class="sourceLineNo">2150</span>   * @see HRegionServer#abort(String, Throwable)<a name="line.2150"></a>
-<span class="sourceLineNo">2151</span>   */<a name="line.2151"></a>
-<span class="sourceLineNo">2152</span>  public void abort(String reason) {<a name="line.2152"></a>
-<span class="sourceLineNo">2153</span>    abort(reason, null);<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>  @Override<a name="line.2156"></a>
-<span class="sourceLineNo">2157</span>  public boolean isAborted() {<a name="line.2157"></a>
-<span class="sourceLineNo">2158</span>    return this.abortRequested;<a name="line.2158"></a>
-<span class="sourceLineNo">2159</span>  }<a name="line.2159"></a>
-<span class="sourceLineNo">2160</span><a name="line.2160"></a>
-<span class="sourceLineNo">2161</span>  /*<a name="line.2161"></a>
-<span class="sourceLineNo">2162</span>   * Simulate a kill -9 of this server. Exits w/o closing regions or cleaninup<a name="line.2162"></a>
-<span class="sourceLineNo">2163</span>   * logs but it does close socket in case want to bring up server on old<a name="line.2163"></a>
-<span class="sourceLineNo">2164</span>   * hostname+port immediately.<a name="line.2164"></a>
-<span class="sourceLineNo">2165</span>   */<a name="line.2165"></a>
-<span class="sourceLineNo">2166</span>  protected void kill() {<a name="line.2166"></a>
-<span class="sourceLineNo">2167</span>    this.killed = true;<a name="line.2167"></a>
-<span class="sourceLineNo">2168</span>    abort("Simulated kill");<a name="line.2168"></a>
-<span class="sourceLineNo">2169</span>  }<a name="line.2169"></a>
-<span class="sourceLineNo">2170</span><a name="line.2170"></a>
-<span class="sourceLineNo">2171</span>  /**<a name="line.2171"></a>
-<span class="sourceLineNo">2172</span>   * Called on stop/abort before closing the cluster connection and meta locator.<a name="line.2172"></a>
-<span class="sourceLineNo">2173</span>   */<a name="line.2173"></a>
-<span class="sourceLineNo">2174</span>  protected void sendShutdownInterrupt() {<a name="line.2174"></a>
-<span class="sourceLineNo">2175</span>  }<a name="line.2175"></a>
-<span class="sourceLineNo">2176</span><a name="line.2176"></a>
-<span class="sourceLineNo">2177</span>  /**<a name="line.2177"></a>
-<span class="sourceLineNo">2178</span>   * Wait on all threads to finish. Presumption is that all closes and stops<a name="line.2178"></a>
-<span class="sourceLineNo">2179</span>   * have already been called.<a name="line.2179"></a>
-<span class="sourceLineNo">2180</span>   */<a name="line.2180"></a>
-<span class="sourceLineNo">2181</span>  protected void stopServiceThreads() {<a name="line.2181"></a>
-<span class="sourceLineNo">2182</span>    // clean up the scheduled chores<a name="line.2182"></a>
-<span class="sourceLineNo">2183</span>    if (this.choreService != null) choreService.shutdown();<a name="line.2183"></a>
-<span class="sourceLineNo">2184</span>    if (this.nonceManagerChore != null) nonceManagerChore.cancel(true);<a name="line.2184"></a>
-<span class="sourceLineNo">2185</span>    if (this.compactionChecker != null) compactionChecker.cancel(true);<a name="line.2185"></a>
-<span class="sourceLineNo">2186</span>    if (this.periodicFlusher != null) periodicFlusher.cancel(true);<a name="line.2186"></a>
-<span class="sourceLineNo">2187</span>    if (this.healthCheckChore != null) healthCheckChore.cancel(true);<a name="line.2187"></a>
-<span class="sourceLineNo">2188</span>    if (this.storefileRefresher != null) storefileRefresher.cancel(true);<a name="line.2188"></a>
-<span class="sourceLineNo">2189</span>    if (this.movedRegionsCleaner != null) movedRegionsCleaner.cancel(true);<a name="line.2189"></a>
-<span class="sourceLineNo">2190</span><a name="line.2190"></a>
-<span class="sourceLineNo">2191</span>    if (this.cacheFlusher != null) {<a name="line.2191"></a>
-<span class="sourceLineNo">2192</span>      this.cacheFlusher.join();<a name="line.2192"></a>
-<span class="sourceLineNo">2193</span>    }<a name="line.2193"></a>
-<span class="sourceLineNo">2194</span><a name="line.2194"></a>
-<span class="sourceLineNo">2195</span>    if (this.spanReceiverHost != null) {<a name="line.2195"></a>
-<span class="sourceLineNo">2196</span>      this.spanReceiverHost.closeReceivers();<a name="line.2196"></a>
-<span class="sourceLineNo">2197</span>    }<a name="line.2197"></a>
-<span class="sourceLineNo">2198</span>    if (this.walRoller != null) {<a name="line.2198"></a>
-<span class="sourceLineNo">2199</span>      Threads.shutdown(this.walRoller.getThread());<a name="line.2199"></a>
-<span class="sourceLineNo">2200</span>    }<a name="line.2200"></a>
-<span class="sourceLineNo">2201</span>    final LogRoller metawalRoller = this.metawalRoller.get();<a name="line.2201"></a>
-<span class="sourceLineNo">2202</span>    if (metawalRoller != null) {<a name="line.2202"></a>
-<span class="sourceLineNo">2203</span>      Threads.shutdown(metawalRoller.getThread());<a name="line.2203"></a>
-<span class="sourceLineNo">2204</span>    }<a name="line.2204"></a>
-<span class="sourceLineNo">2205</span>    if (this.compactSplitThread != null) {<a name="line.2205"></a>
-<span class="sourceLineNo">2206</span>      this.compactSplitThread.join();<a name="line.2206"></a>
-<span class="sourceLineNo">2207</span>    }<a name="line.2207"></a>
-<span class="sourceLineNo">2208</span>    if (this.service != null) this.service.shutdown();<a name="line.2208"></a>
-<span class="sourceLineNo">2209</span>    if (this.replicationSourceHandler != null &amp;&amp;<a name="line.2209"></a>
-<span class="sourceLineNo">2210</span>        this.replicationSourceHandler == this.replicationSinkHandler) {<a name="line.2210"></a>
-<span class="sourceLineNo">2211</span>      this.replicationSourceHandler.stopReplicationService();<a name="line.2211"></a>
-<span class="sourceLineNo">2212</span>    } else {<a name="line.2212"></a>
-<span class="sourceLineNo">2213</span>      if (this.replicationSourceHandler != null) {<a name="line.2213"></a>
-<span class="sourceLineNo">2214</span>        this.replicationSourceHandler.stopReplicationService();<a name="line.2214"></a>
-<span class="sourceLineNo">2215</span>      }<a name="line.2215"></a>
-<span class="sourceLineNo">2216</span>      if (this.replicationSinkHandler != null) {<a name="line.2216"></a>
-<span class="sourceLineNo">2217</span>        this.replicationSinkHandler.stopReplicationService();<a name="line.2217"></a>
-<span class="sourceLineNo">2218</span>      }<a name="line.2218"></a>
-<span class="sourceLineNo">2219</span>    }<a name="line.2219"></a>
-<span class="sourceLineNo">2220</span>  }<a name="line.2220"></a>
-<span class="sourceLineNo">2221</span><a name="line.2221"></a>
-<span class="sourceLineNo">2222</span>  /**<a name="line.2222"></a>
-<span class="sourceLineNo">2223</span>   * @return Return the object that implements the replication<a name="line.2223"></a>
-<span class="sourceLineNo">2224</span>   * source service.<a name="line.2224"></a>
-<span class="sourceLineNo">2225</span>   */<a name="line.2225"></a>
-<span class="sourceLineNo">2226</span>  ReplicationSourceService getReplicationSourceService() {<a name="line.2226"></a>
-<span class="sourceLineNo">2227</span>    return replicationSourceHandler;<a name="line.2227"></a>
-<span class="sourceLineNo">2228</span>  }<a name="line.2228"></a>
-<span class="sourceLineNo">2229</span><a name="line.2229"></a>
-<span class="sourceLineNo">2230</span>  /**<a name="line.2230"></a>
-<span class="sourceLineNo">2231</span>   * @return Return the object that implements the replication<a name="line.2231"></a>
-<span class="sourceLineNo">2232</span>   * sink service.<a name="line.2232"></a>
-<span class="sourceLineNo">2233</span>   */<a name="line.2233"></a>
-<span class="sourceLineNo">2234</span>  ReplicationSinkService getReplicationSinkService() {<a name="line.2234"></a>
-<span class="sourceLineNo">2235</span>    return replicationSinkHandler;<a name="line.2235"></a>
-<span class="sourceLineNo">2236</span>  }<a name="line.2236"></a>
-<span class="sourceLineNo">2237</span><a name="line.2237"></a>
-<span class="sourceLineNo">2238</span>  /**<a name="line.2238"></a>
-<span class="sourceLineNo">2239</span>   * Get the current master from ZooKeeper and open the RPC connection to it.<a name="line.2239"></a>
-<span class="sourceLineNo">2240</span>   * To get a fresh connection, the current rssStub must be null.<a name="line.2240"></a>
-<span class="sourceLineNo">2241</span>   * Method will block until a master is available. You can break from this<a name="line.2241"></a>
-<span class="sourceLineNo">2242</span>   * block by requesting the server stop.<a name="line.2242"></a>
-<span class="sourceLineNo">2243</span>   *<a name="line.2243"></a>
-<span class="sourceLineNo">2244</span>   * @return master + port, or null if server has been stopped<a name="line.2244"></a>
-<span class="sourceLineNo">2245</span>   */<a name="line.2245"></a>
-<span class="sourceLineNo">2246</span>  @VisibleForTesting<a name="line.2246"></a>
-<span class="sourceLineNo">2247</span>  protected synchronized ServerName createRegionServerStatusStub() {<a name="line.2247"></a>
-<span class="sourceLineNo">2248</span>    if (rssStub != null) {<a name="line.2248"></a>
-<span class="sourceLineNo">2249</span>      return masterAddressTracker.getMasterAddress();<a name="line.2249"></a>
-<span class="sourceLineNo">2250</span>    }<a name="line.2250"></a>
-<span class="sourceLineNo">2251</span>    ServerName sn = null;<a name="line.2251"></a>
-<span class="sourceLineNo">2252</span>    long previousLogTime = 0;<a name="line.2252"></a>
-<span class="sourceLineNo">2253</span>    boolean refresh = false; // for the first time, use cached data<a name="line.2253"></a>
-<span class="sourceLineNo">2254</span>    RegionServerStatusService.BlockingInterface intf = null;<a name="line.2254"></a>
-<span class="sourceLineNo">2255</span>    boolean interrupted = false;<a name="line.2255"></a>
-<span class="sourceLineNo">2256</span>    try {<a name="line.2256"></a>
-<span class="sourceLineNo">2257</span>      while (keepLooping()) {<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>        sn = this.masterAddressTracker.getMasterAddress(refresh);<a name="line.2258"></a>
-<span class="sourceLineNo">2259</span>        if (sn == null) {<a name="line.2259"></a>
-<span class="sourceLineNo">2260</span>          if (!keepLooping()) {<a name="line.2260"></a>
-<span class="sourceLineNo">2261</span>            // give up with no connection.<a name="line.2261"></a>
-<span class="sourceLineNo">2262</span>            LOG.debug("No master found and cluster is stopped; bailing out");<a name="line.2262"></a>
-<span class="sourceLineNo">2263</span>            return null;<a name="line.2263"></a>
-<span class="sourceLineNo">2264</span>          }<a name="line.2264"></a>
-<span class="sourceLineNo">2265</span>          if (System.currentTimeMillis() &gt; (previousLogTime + 1000)) {<a name="line.2265"></a>
-<span class="sourceLineNo">2266</span>            LOG.debug("No master found; retry");<a name="line.2266"></a>
-<span class="sourceLineNo">2267</span>            previousLogTime = System.currentTimeMillis();<a name="line.2267"></a>
-<span class="sourceLineNo">2268</span>          }<a name="line.2268"></a>
-<span class="sourceLineNo">2269</span>          refresh = true; // let's try pull it from ZK directly<a name="line.2269"></a>
-<span class="sourceLineNo">2270</span>          if (sleep(200)) {<a name="line.2270"></a>
-<span class="sourceLineNo">2271</span>            interrupted = true;<a name="line.2271"></a>
-<span class="sourceLineNo">2272</span>          }<a name="line.2272"></a>
-<span class="sourceLineNo">2273</span>          continue;<a name="line.2273"></a>
-<span class="sourceLineNo">2274</span>        }<a name="line.2274"></a>
-<span class="sourceLineNo">2275</span><a name="line.2275"></a>
-<span class="sourceLineNo">2276</span>        // If we are on the active master, use the shortcut<a name="line.2276"></a>
-<span class="sourceLineNo">2277</span>        if (this instanceof HMaster &amp;&amp; sn.equals(getServerName())) {<a name="line.2277"></a>
-<span class="sourceLineNo">2278</span>          intf = ((HMaster)this).getMasterRpcServices();<a name="line.2278"></a>
-<span class="sourceLineNo">2279</span>          break;<a name="line.2279"></a>
-<span class="sourceLineNo">2280</span>        }<a name="line.2280"></a>
-<span class="sourceLineNo">2281</span>        try {<a name="line.2281"></a>
-<span class="sourceLineNo">2282</span>          BlockingRpcChannel channel =<a name="line.2282"></a>
-<span class="sourceLineNo">2283</span>            this.rpcClient.createBlockingRpcChannel(sn, userProvider.getCurrent(),<a name="line.2283"></a>
-<span class="sourceLineNo">2284</span>              shortOperationTimeout);<a name="line.2284"></a>
-<span class="sourceLineNo">2285</span>          intf = RegionServerStatusService.newBlockingStub(channel);<a name="line.2285"></a>
-<span class="sourceLineNo">2286</span>          break;<a name="line.2286"></a>
-<span class="sourceLineNo">2287</span>        } catch (IOException e) {<a name="line.2287"></a>
-<span class="sourceLineNo">2288</span>          if (System.currentTimeMillis() &gt; (previousLogTime + 1000)) {<a name="line.2288"></a>
-<span class="sourceLineNo">2289</span>            e = e instanceof RemoteException ?<a name="line.2289"></a>
-<span class="sourceLineNo">2290</span>              ((RemoteException)e).unwrapRemoteException() : e;<a name="line.2290"></a>
-<span class="sourceLineNo">2291</span>            if (e instanceof ServerNotRunningYetException) {<a name="line.2291"></a>
-<span class="sourceLineNo">2292</span>              LOG.info("Master isn't available yet, retrying");<a name="line.2292"></a>
-<span class="sourceLineNo">2293</span>            } else {<a name="line.2293"></a>
-<span class="sourceLineNo">2294</span>              LOG.warn("Unable to connect to master. Retrying. Error was:", e);<a name="line.2294"></a>
-<span class="sourceLineNo">2295</span>            }<a name="line.2295"></a>
-<span class="sourceLineNo">2296</span>            previousLogTime = System.currentTimeMillis();<a name="line.2296"></a>
-<span class="sourceLineNo">2297</span>          }<a name="line.2297"></a>
-<span class="sourceLineNo">2298</span>          if (sleep(200)) {<a name="line.2298"></a>
-<span class="sourceLineNo">2299</span>            interrupted = true;<a name="line.2299"></a>
-<span class="sourceLineNo">2300</span>          }<a name="line.2300"></a>
-<span class="sourceLineNo">2301</span>        }<a name="line.2301"></a>
-<span class="sourceLineNo">2302</span>      }<a name="line.2302"></a>
-<span class="sourceLineNo">2303</span>    } finally {<a name="line.2303"></a>
-<span class="sourceLineNo">2304</span>      if (interrupted) {<a name="line.2304"></a>
-<span class="sourceLineNo">2305</span>        Thread.currentThread().interrupt();<a name="line.2305"></a>
-<span class="sourceLineNo">2306</span>      }<a name="line.2306"></a>
-<span class="sourceLineNo">2307</span>    }<a name="line.2307"></a>
-<span class="sourceLineNo">2308</span>    rssStub = intf;<a name="line.2308"></a>
-<span class="sourceLineNo">2309</span>    return sn;<a name="line.2309"></a>
-<span class="sourceLineNo">2310</span>  }<a name="line.2310"></a>
-<span class="sourceLineNo">2311</span><a name="line.2311"></a>
-<span class="sourceLineNo">2312</span>  /**<a name="line.2312"></a>
-<span class="sourceLineNo">2313</span>   * @return True if we should break loop because cluster is going down or<a name="line.2313"></a>
-<span class="sourceLineNo">2314</span>   * this server has been stopped or hdfs has gone bad.<a name="line.2314"></a>
-<span class="sourceLineNo">2315</span>   */<a name="line.2315"></a>
-<span class="sourceLineNo">2316</span>  private boolean keepLooping() {<a name="line.2316"></a>
-<span class="sourceLineNo">2317</span>    return !this.stopped &amp;&amp; isClusterUp();<a name="line.2317"></a>
-<span class="sourceLineNo">2318</span>  }<a name="line.2318"></a>
-<span class="sourceLineNo">2319</span><a name="line.2319"></a>
-<span class="sourceLineNo">2320</span>  /*<a name="line.2320"></a>
-<span class="sourceLineNo">2321</span>   * Let the master know we're here Run initialization using parameters passed<a name="line.2321"></a>
-<span class="sourceLineNo">2322</span>   * us by the master.<a name="line.2322"></a>
-<span class="sourceLineNo">2323</span>   * @return A Map of key/value configurations we got from the Master else<a name="line.2323"></a>
-<span class="sourceLineNo">2324</span>   * null if we failed to register.<a name="line.2324"></a>
-<span class="sourceLineNo">2325</span>   * @throws IOException<a name="line.2325"></a>
-<span class="sourceLineNo">2326</span>   */<a name="line.2326"></a>
-<span class="sourceLineNo">2327</span>  private RegionServerStartupResponse reportForDuty() throws IOException {<a name="line.2327"></a>
-<span class="sourceLineNo">2328</span>    ServerName masterServerName = createRegionServerStatusStub();<a name="line.2328"></a>
-<span class="sourceLineNo">2329</span>    if (masterServerName == null) return null;<a name="line.2329"></a>
-<span class="sourceLineNo">2330</span>    RegionServerStartupResponse result = null;<a name="line.2330"></a>
-<span class="sourceLineNo">2331</span>    try {<a name="line.2331"></a>
-<span class="sourceLineNo">2332</span>      rpcServices.requestCount.set(0);<a name="line.2332"></a>
-<span class="sourceLineNo">2333</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2333"></a>
-<span class="sourceLineNo">2334</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2334"></a>
-<span class="sourceLineNo">2335</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2335"></a>
-<span class="sourceLineNo">2336</span>      int port = rpcServices.isa.getPort();<a name="line.2336"></a>
-<span class="sourceLineNo">2337</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2337"></a>
-<span class="sourceLineNo">2338</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2338"></a>
-<span class="sourceLineNo">2339</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2339"></a>
-<span class="sourceLineNo">2340</span>      }<a name="line.2340"></a>
-<span class="sourceLineNo">2341</span>      request.setPort(port);<a name="line.2341"></a>
-<span class="sourceLineNo">2342</span>      request.setServerStartCode(this.startcode);<a name="line.2342"></a>
-<span class="sourceLineNo">2343</span>      request.setServerCurrentTime(now);<a name="line.2343"></a>
-<span class="sourceLineNo">2344</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2344"></a>
-<span class="sourceLineNo">2345</span>    } catch (ServiceException se) {<a name="line.2345"></a>
-<span class="sourceLineNo">2346</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2346"></a>
-<span class="sourceLineNo">2347</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2347"></a>
-<span class="sourceLineNo">2348</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2348"></a>
-<span class="sourceLineNo">2349</span>        // Re-throw IOE will cause RS to abort<a name="line.2349"></a>
-<span class="sourceLineNo">2350</span>        throw ioe;<a name="line.2350"></a>
-<span class="sourceLineNo">2351</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2351"></a>
-<span class="sourceLineNo">2352</span>        LOG.debug("Master is not running yet");<a name="line.2352"></a>
-<span class="sourceLineNo">2353</span>      } else {<a name="line.2353"></a>
-<span class="sourceLineNo">2354</span>        LOG.warn("error telling master we are up", se);<a name="line.2354"></a>
-<span class="sourceLineNo">2355</span>      }<a name="line.2355"></a>
-<span class="sourceLineNo">2356</span>      rssStub = null;<a name="line.2356"></a>
-<span class="sourceLineNo">2357</span>    }<a name="line.2357"></a>
-<span class="sourceLineNo">2358</span>    return result;<a name="line.2358"></a>
-<span class="sourceLineNo">2359</span>  }<a name="line.2359"></a>
-<span class="sourceLineNo">2360</span><a name="line.2360"></a>
-<span class="sourceLineNo">2361</span>  @Override<a name="line.2361"></a>
-<span class="sourceLineNo">2362</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2362"></a>
-<span class="sourceLineNo">2363</span>    try {<a name="line.2363"></a>
-<span class="sourceLineNo">2364</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2365"></a>
-<span class="sourceLineNo">2366</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2366"></a>
-<span class="sourceLineNo">2367</span>      if (rss == null) { // Try to connect one more time<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>        createRegionServerStatusStub();<a name="line.2368"></a>
-<span class="sourceLineNo">2369</span>        rss = rssStub;<a name="line.2369"></a>
-<span class="sourceLineNo">2370</span>        if (rss == null) {<a name="line.2370"></a>
-<span class="sourceLineNo">2371</span>          // Still no luck, we tried<a name="line.2371"></a>
-<span class="sourceLineNo">2372</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2372"></a>
-<span class="sourceLineNo">2373</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>              .build();<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span>        }<a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>      }<a name="line.2376"></a>
-<span class="sourceLineNo">2377</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>    } catch (ServiceException e) {<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>          .build();<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>    }<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span>  }<a name="line.2386"></a>
-<span class="sourceLineNo">2387</span><a name="line.2387"></a>
-<span class="sourceLineNo">2388</span>  /**<a name="line.2388"></a>
-<span class="sourceLineNo">2389</span>   * Clos

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index 22e6599..eb42f7b 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -688,6 +688,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestNamespace.html#admin">admin</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestNamespace.html" title="class in org.apache.hadoop.hbase">TestNamespace</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#admin">admin</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/trace/IntegrationTestSendTraceRequests.html#admin">admin</a></span> - Variable in class org.apache.hadoop.hbase.trace.<a href="./org/apache/hadoop/hbase/trace/IntegrationTestSendTraceRequests.html" title="class in org.apache.hadoop.hbase.trace">IntegrationTestSendTraceRequests</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/BaseTestHBaseFsck.html#admin">admin</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/BaseTestHBaseFsck.html" title="class in org.apache.hadoop.hbase.util">BaseTestHBaseFsck</a></dt>
@@ -2473,8 +2475,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.html#CF">CF</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.html" title="class in org.apache.hadoop.hbase.util">TestMiniClusterLoadSequential</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#CF1">CF1</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/wal/TestWALFiltering.html#CF1">CF1</a></span> - Static variable in class org.apache.hadoop.hbase.wal.<a href="./org/apache/hadoop/hbase/wal/TestWALFiltering.html" title="class in org.apache.hadoop.hbase.wal">TestWALFiltering</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#CF2">CF2</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/wal/TestWALFiltering.html#CF2">CF2</a></span> - Static variable in class org.apache.hadoop.hbase.wal.<a href="./org/apache/hadoop/hbase/wal/TestWALFiltering.html" title="class in org.apache.hadoop.hbase.wal">TestWALFiltering</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/codec/prefixtree/row/data/TestRowDataDeeper.html#cf6">cf6</a></span> - Static variable in class org.apache.hadoop.hbase.codec.prefixtree.row.data.<a href="./org/apache/hadoop/hbase/codec/prefixtree/row/data/TestRowDataDeeper.html" title="class in org.apache.hadoop.hbase.codec.prefixtree.row.data">TestRowDataDeeper</a></dt>
@@ -3569,6 +3575,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestScanner.html#col1">col1</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestScanner.html" title="class in org.apache.hadoop.hbase.regionserver">TestScanner</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#COL1">COL1</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/TestRowCounter.html#COL2">COL2</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/TestRowCounter.html" title="class in org.apache.hadoop.hbase.mapreduce">TestRowCounter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestExplicitColumnTracker.html#col2">col2</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestExplicitColumnTracker.html" title="class in org.apache.hadoop.hbase.regionserver">TestExplicitColumnTracker</a></dt>
@@ -3579,12 +3587,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestQueryMatcher.html#col2">col2</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestQueryMatcher.html" title="class in org.apache.hadoop.hbase.regionserver">TestQueryMatcher</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#COL2">COL2</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestExplicitColumnTracker.html#col3">col3</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestExplicitColumnTracker.html" title="class in org.apache.hadoop.hbase.regionserver">TestExplicitColumnTracker</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.html#col3">col3</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">TestKeyValueHeap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestQueryMatcher.html#col3">col3</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestQueryMatcher.html" title="class in org.apache.hadoop.hbase.regionserver">TestQueryMatcher</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#COL3">COL3</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestExplicitColumnTracker.html#col4">col4</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestExplicitColumnTracker.html" title="class in org.apache.hadoop.hbase.regionserver">TestExplicitColumnTracker</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.html#col4">col4</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">TestKeyValueHeap</a></dt>
@@ -5840,6 +5852,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/test/IntegrationTestBigLinkedListWithVisibility.VisibilityGenerator.html#createTable(org.apache.hadoop.hbase.client.Admin,%20org.apache.hadoop.hbase.TableName,%20boolean,%20boolean)">createTable(Admin, TableName, boolean, boolean)</a></span> - Method in class org.apache.hadoop.hbase.test.<a href="./org/apache/hadoop/hbase/test/IntegrationTestBigLinkedListWithVisibility.VisibilityGenerator.html" title="class in org.apache.hadoop.hbase.test">IntegrationTestBigLinkedListWithVisibility.VisibilityGenerator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#createTable()">createTable()</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/trace/IntegrationTestSendTraceRequests.html#createTable()">createTable()</a></span> - Method in class org.apache.hadoop.hbase.trace.<a href="./org/apache/hadoop/hbase/trace/IntegrationTestSendTraceRequests.html" title="class in org.apache.hadoop.hbase.trace">IntegrationTestSendTraceRequests</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/BaseTestHBaseFsck.html#createTable(org.apache.hadoop.hbase.HBaseTestingUtility,%20org.apache.hadoop.hbase.HTableDescriptor,%20byte[][])">createTable(HBaseTestingUtility, HTableDescriptor, byte[][])</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/BaseTestHBaseFsck.html" title="class in org.apache.hadoop.hbase.util">BaseTestHBaseFsck</a></dt>
@@ -10402,6 +10416,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestScannerRetriableFailure.html#getFileSystem()">getFileSystem()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestScannerRetriableFailure.html" title="class in org.apache.hadoop.hbase.regionserver">TestScannerRetriableFailure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperStub.html#getFilteredReadRequestCount()">getFilteredReadRequestCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperStub.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapperStub</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.RegionWrapperStub.html#getFilteredReadRequestCount()">getFilteredReadRequestCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.RegionWrapperStub.html" title="class in org.apache.hadoop.hbase.regionserver">TestMetricsRegionSourceImpl.RegionWrapperStub</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperStub</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/TestFilterList.html#getFilterMPONE()">getFilterMPONE()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/TestFilterList.html" title="class in org.apache.hadoop.hbase.filter">TestFilterList</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/GenericTestUtils.DelayAnswer.html#getFireCount()">getFireCount()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/GenericTestUtils.DelayAnswer.html" title="class in org.apache.hadoop.hbase">GenericTestUtils.DelayAnswer</a></dt>
@@ -11348,6 +11368,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MockStoreFile.html#getReader()">getReader()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MockStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">MockStoreFile</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#getReadRequest(org.apache.hadoop.hbase.ServerLoad,%20org.apache.hadoop.hbase.RegionLoad,%20org.apache.hadoop.hbase.TestRegionServerMetrics.Metric)">getReadRequest(ServerLoad, RegionLoad, TestRegionServerMetrics.Metric)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperStub.html#getReadRequestCount()">getReadRequestCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperStub.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapperStub</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.RegionWrapperStub.html#getReadRequestCount()">getReadRequestCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.RegionWrapperStub.html" title="class in org.apache.hadoop.hbase.regionserver">TestMetricsRegionSourceImpl.RegionWrapperStub</a></dt>
@@ -17013,6 +17035,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/client/TestRemoteHTableRetries.html#MAX_TIME">MAX_TIME</a></span> - Static variable in class org.apache.hadoop.hbase.rest.client.<a href="./org/apache/hadoop/hbase/rest/client/TestRemoteHTableRetries.html" title="class in org.apache.hadoop.hbase.rest.client">TestRemoteHTableRetries</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#MAX_TRY">MAX_TRY</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/codec/prefixtree/row/data/TestRowDataExerciseFInts.html#MAX_VALUE">MAX_VALUE</a></span> - Static variable in class org.apache.hadoop.hbase.codec.prefixtree.row.data.<a href="./org/apache/hadoop/hbase/codec/prefixtree/row/data/TestRowDataExerciseFInts.html" title="class in org.apache.hadoop.hbase.codec.prefixtree.row.data">TestRowDataExerciseFInts</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/codec/prefixtree/row/data/TestRowDataUrls.html#MAX_VALUE">MAX_VALUE</a></span> - Static variable in class org.apache.hadoop.hbase.codec.prefixtree.row.data.<a href="./org/apache/hadoop/hbase/codec/prefixtree/row/data/TestRowDataUrls.html" title="class in org.apache.hadoop.hbase.codec.prefixtree.row.data">TestRowDataUrls</a></dt>
@@ -21498,6 +21522,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.html#putData(org.apache.hadoop.hbase.regionserver.Region,%20int,%20int,%20byte[],%20byte[]...)">putData(Region, int, int, byte[], byte[]...)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.html" title="class in org.apache.hadoop.hbase.regionserver">TestStoreFileRefresherChore</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#putData()">putData()</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.html#putDataAndVerify(org.apache.hadoop.hbase.client.Table,%20java.lang.String,%20byte[],%20java.lang.String,%20int)">putDataAndVerify(Table, String, byte[], String, int)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.html" title="class in org.apache.hadoop.hbase.regionserver">TestHRegionOnCluster</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.html#putDataByReplay(org.apache.hadoop.hbase.regionserver.HRegion,%20int,%20int,%20byte[],%20byte[]...)">putDataByReplay(HRegion, int, int, byte[], byte[]...)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.html" title="class in org.apache.hadoop.hbase.regionserver">TestHRegionReplayEvents</a></dt>
@@ -21532,6 +21558,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestClientScannerRPCTimeout.html#putToTable(org.apache.hadoop.hbase.client.Table,%20byte[])">putToTable(Table, byte[])</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestClientScannerRPCTimeout.html" title="class in org.apache.hadoop.hbase.client">TestClientScannerRPCTimeout</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#putTTLExpiredData()">putTTLExpiredData()</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/RowResourceBase.html#putValueJson(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String)">putValueJson(String, String, String, String)</a></span> - Static method in class org.apache.hadoop.hbase.rest.<a href="./org/apache/hadoop/hbase/rest/RowResourceBase.html" title="class in org.apache.hadoop.hbase.rest">RowResourceBase</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/RowResourceBase.html#putValueJson(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String)">putValueJson(String, String, String, String, String)</a></span> - Static method in class org.apache.hadoop.hbase.rest.<a href="./org/apache/hadoop/hbase/rest/RowResourceBase.html" title="class in org.apache.hadoop.hbase.rest">RowResourceBase</a></dt>
@@ -22772,6 +22800,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.html#requestMergeRegion(org.apache.hadoop.hbase.master.HMaster,%20org.apache.hadoop.hbase.TableName,%20int,%20int)">requestMergeRegion(HMaster, TableName, int, int)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionMergeTransactionOnCluster</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#requestsMap">requestsMap</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#requestsMapPrev">requestsMapPrev</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestFromClientSide.ListAppender.html#requiresLayout()">requiresLayout()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestFromClientSide.ListAppender.html" title="class in org.apache.hadoop.hbase.client">TestFromClientSide.ListAppender</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.CustomScanner.html#reseek(byte[])">reseek(byte[])</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.CustomScanner.html" title="class in org.apache.hadoop.hbase.client">TestBlockEvictionFromClient.CustomScanner</a></dt>
@@ -23519,6 +23551,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestOffheapKeyValue.html#row1">row1</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestOffheapKeyValue.html" title="class in org.apache.hadoop.hbase">TestOffheapKeyValue</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#ROW1">ROW1</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/encoding/TestPrefixTree.html#row1_bytes">row1_bytes</a></span> - Static variable in class org.apache.hadoop.hbase.io.encoding.<a href="./org/apache/hadoop/hbase/io/encoding/TestPrefixTree.html" title="class in org.apache.hadoop.hbase.io.encoding">TestPrefixTree</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.html#ROW2">ROW2</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.html" title="class in org.apache.hadoop.hbase.client">TestBlockEvictionFromClient</a></dt>
@@ -23581,6 +23615,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestCellComparator.html#row2">row2</a></span> - Variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestCellComparator.html" title="class in org.apache.hadoop.hbase">TestCellComparator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#ROW2">ROW2</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/encoding/TestPrefixTree.html#row2_bytes">row2_bytes</a></span> - Static variable in class org.apache.hadoop.hbase.io.encoding.<a href="./org/apache/hadoop/hbase/io/encoding/TestPrefixTree.html" title="class in org.apache.hadoop.hbase.io.encoding">TestPrefixTree</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/coprocessor/TestRowProcessorEndpoint.html#row2Size">row2Size</a></span> - Static variable in class org.apache.hadoop.hbase.coprocessor.<a href="./org/apache/hadoop/hbase/coprocessor/TestRowProcessorEndpoint.html" title="class in org.apache.hadoop.hbase.coprocessor">TestRowProcessorEndpoint</a></dt>
@@ -23601,6 +23637,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsReplication.html#row3">row3</a></span> - Static variable in class org.apache.hadoop.hbase.security.visibility.<a href="./org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsReplication.html" title="class in org.apache.hadoop.hbase.security.visibility">TestVisibilityLabelsReplication</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#ROW3">ROW3</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/encoding/TestPrefixTree.html#row3_bytes">row3_bytes</a></span> - Static variable in class org.apache.hadoop.hbase.io.encoding.<a href="./org/apache/hadoop/hbase/io/encoding/TestPrefixTree.html" title="class in org.apache.hadoop.hbase.io.encoding">TestPrefixTree</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/encoding/TestPrefixTree.html#row4">row4</a></span> - Static variable in class org.apache.hadoop.hbase.io.encoding.<a href="./org/apache/hadoop/hbase/io/encoding/TestPrefixTree.html" title="class in org.apache.hadoop.hbase.io.encoding">TestPrefixTree</a></dt>
@@ -24935,6 +24973,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/replication/TestReplicationTrackerZKImpl.DummyServer.html#serverName">serverName</a></span> - Variable in class org.apache.hadoop.hbase.replication.<a href="./org/apache/hadoop/hbase/replication/TestReplicationTrackerZKImpl.DummyServer.html" title="class in org.apache.hadoop.hbase.replication">TestReplicationTrackerZKImpl.DummyServer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#serverNames">serverNames</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/balancer/TestRegionLocationFinder.html#ServerNum">ServerNum</a></span> - Static variable in class org.apache.hadoop.hbase.master.balancer.<a href="./org/apache/hadoop/hbase/master/balancer/TestRegionLocationFinder.html" title="class in org.apache.hadoop.hbase.master.balancer">TestRegionLocationFinder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/RESTApiClusterManager.html#serverPassword">serverPassword</a></span> - Variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/RESTApiClusterManager.html" title="class in org.apache.hadoop.hbase">RESTApiClusterManager</a></dt>
@@ -26551,6 +26591,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFiles.html#setupNamespace()">setupNamespace()</a></span> - Static method in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFiles.html" title="class in org.apache.hadoop.hbase.mapreduce">TestLoadIncrementalHFiles</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#setUpOnce()">setUpOnce()</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/wal/WALPerformanceEvaluation.html#setupPut(java.util.Random,%20byte[],%20byte[],%20int)">setupPut(Random, byte[], byte[], int)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="./org/apache/hadoop/hbase/wal/WALPerformanceEvaluation.html" title="class in org.apache.hadoop.hbase.wal">WALPerformanceEvaluation</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#setupRandomGeneratorMapper(org.apache.hadoop.mapreduce.Job)">setupRandomGeneratorMapper(Job)</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html" title="class in org.apache.hadoop.hbase.mapreduce">TestHFileOutputFormat2</a></dt>
@@ -26956,6 +26998,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestClusterBootOrder.html#SLEEP_INTERVAL">SLEEP_INTERVAL</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestClusterBootOrder.html" title="class in org.apache.hadoop.hbase">TestClusterBootOrder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#SLEEP_MS">SLEEP_MS</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/RestartMetaTest.html#SLEEP_SEC_AFTER_DATA_LOAD">SLEEP_SEC_AFTER_DATA_LOAD</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/RestartMetaTest.html" title="class in org.apache.hadoop.hbase.util">RestartMetaTest</a></dt>
 <dd>
 <div class="block">The number of seconds to sleep after loading the data</div>
@@ -28516,6 +28560,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestAcidGuarantees.AtomicScanReader.html#table">table</a></span> - Variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestAcidGuarantees.AtomicScanReader.html" title="class in org.apache.hadoop.hbase">TestAcidGuarantees.AtomicScanReader</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#table">table</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestServerSideScanMetricsFromClientSide.html#TABLE">TABLE</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestServerSideScanMetricsFromClientSide.html" title="class in org.apache.hadoop.hbase">TestServerSideScanMetricsFromClientSide</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.html#table">table</a></span> - Variable in class org.apache.hadoop.hbase.util.hbck.<a href="./org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.html" title="class in org.apache.hadoop.hbase.util.hbck">OfflineMetaRebuildTestCore</a></dt>
@@ -28638,6 +28684,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestIOFencing.html#TABLE_NAME">TABLE_NAME</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestIOFencing.html" title="class in org.apache.hadoop.hbase">TestIOFencing</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#TABLE_NAME">TABLE_NAME</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestServerSideScanMetricsFromClientSide.html#TABLE_NAME">TABLE_NAME</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestServerSideScanMetricsFromClientSide.html" title="class in org.apache.hadoop.hbase">TestServerSideScanMetricsFromClientSide</a></dt>
 <dd>
 <div class="block">Table configuration</div>
@@ -28940,6 +28988,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.SnapshotMock.SnapshotBuilder.html#tableRegions">tableRegions</a></span> - Variable in class org.apache.hadoop.hbase.snapshot.<a href="./org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.SnapshotMock.SnapshotBuilder.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotTestingUtils.SnapshotMock.SnapshotBuilder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#tableRegions">tableRegions</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/TestFSVisitor.html#tableRegions">tableRegions</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/TestFSVisitor.html" title="class in org.apache.hadoop.hbase.util">TestFSVisitor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.html#tableRowCount(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.TableName)">tableRowCount(Configuration, TableName)</a></span> - Method in class org.apache.hadoop.hbase.util.hbck.<a href="./org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.html" title="class in org.apache.hadoop.hbase.util.hbck">OfflineMetaRebuildTestCore</a></dt>
@@ -29745,6 +29795,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFilesSplitRecovery.html#teardownCluster()">teardownCluster()</a></span> - Static method in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFilesSplitRecovery.html" title="class in org.apache.hadoop.hbase.mapreduce">TestLoadIncrementalHFilesSplitRecovery</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#tearDownOnce()">tearDownOnce()</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/TestMasterFileSystem.html#teardownTest()">teardownTest()</a></span> - Static method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/TestMasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">TestMasterFileSystem</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsReplication.html#TEMP">TEMP</a></span> - Static variable in class org.apache.hadoop.hbase.security.visibility.<a href="./org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsReplication.html" title="class in org.apache.hadoop.hbase.security.visibility">TestVisibilityLabelsReplication</a></dt>
@@ -30617,6 +30669,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestNamespace.html#TEST_UTIL">TEST_UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestNamespace.html" title="class in org.apache.hadoop.hbase">TestNamespace</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#TEST_UTIL">TEST_UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestServerSideScanMetricsFromClientSide.html#TEST_UTIL">TEST_UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestServerSideScanMetricsFromClientSide.html" title="class in org.apache.hadoop.hbase">TestServerSideScanMetricsFromClientSide</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestZooKeeper.html#TEST_UTIL">TEST_UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestZooKeeper.html" title="class in org.apache.hadoop.hbase">TestZooKeeper</a></dt>
@@ -40653,6 +40707,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestMobStoreScanner.html#testReadPt()">testReadPt()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestMobStoreScanner.html" title="class in org.apache.hadoop.hbase.regionserver">TestMobStoreScanner</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#testReadRequests(long,%20long,%20long)">testReadRequests(long, long, long)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#testReadRequestsCountNotFiltered()">testReadRequestsCountNotFiltered()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#testReadRequestsCountWithDeletedRow()">testReadRequestsCountWithDeletedRow()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#testReadRequestsCountWithFilter()">testReadRequestsCountWithFilter()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#testReadRequestsCountWithTTLExpiration()">testReadRequestsCountWithTTLExpiration()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/TestMultiByteBuffInputStream.html#testReads()">testReads()</a></span> - Method in class org.apache.hadoop.hbase.io.<a href="./org/apache/hadoop/hbase/io/TestMultiByteBuffInputStream.html" title="class in org.apache.hadoop.hbase.io">TestMultiByteBuffInputStream</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/access/TestAccessController.html#testReadWrite()">testReadWrite()</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="./org/apache/hadoop/hbase/security/access/TestAccessController.html" title="class in org.apache.hadoop.hbase.security.access">TestAccessController</a></dt>
@@ -41226,6 +41290,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.html#TestRegionServerMetrics()">TestRegionServerMetrics()</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionServerMetrics</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase"><span class="strong">TestRegionServerMetrics</span></a> - Class in <a href="./org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#TestRegionServerMetrics()">TestRegionServerMetrics()</a></span> - Constructor for class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase"><span class="strong">TestRegionServerMetrics.Metric</span></a> - Enum in <a href="./org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html#TestRegionServerMetrics.Metric()">TestRegionServerMetrics.Metric()</a></span> - Constructor for enum org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase">TestRegionServerMetrics.Metric</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/regionserver/TestRegionServerNoMaster.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">TestRegionServerNoMaster</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">Tests on the region server, without the master.</div>
@@ -47060,6 +47132,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/model/TestColumnSchemaModel.html#TTL">TTL</a></span> - Static variable in class org.apache.hadoop.hbase.rest.model.<a href="./org/apache/hadoop/hbase/rest/model/TestColumnSchemaModel.html" title="class in org.apache.hadoop.hbase.rest.model">TestColumnSchemaModel</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#TTL">TTL</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingTTL.html#TTL_MS">TTL_MS</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="./org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingTTL.html" title="class in org.apache.hadoop.hbase.io.hfile">TestScannerSelectionUsingTTL</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingTTL.html#TTL_SECONDS">TTL_SECONDS</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="./org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingTTL.html" title="class in org.apache.hadoop.hbase.io.hfile">TestScannerSelectionUsingTTL</a></dt>
@@ -47204,6 +47278,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/balancer/BalancerTestBase.html#updateLoad(java.util.Map,%20org.apache.hadoop.hbase.ServerName,%20int)">updateLoad(Map&lt;ServerName, ServerAndLoad&gt;, ServerName, int)</a></span> - Method in class org.apache.hadoop.hbase.master.balancer.<a href="./org/apache/hadoop/hbase/master/balancer/BalancerTestBase.html" title="class in org.apache.hadoop.hbase.master.balancer">BalancerTestBase</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#updateMetricsMap()">updateMetricsMap()</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestTags.TestCoprocessorForTags.html#updateMutationAddingTags(org.apache.hadoop.hbase.client.Mutation)">updateMutationAddingTags(Mutation)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestTags.TestCoprocessorForTags.html" title="class in org.apache.hadoop.hbase.regionserver">TestTags.TestCoprocessorForTags</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/LoadTestTool.html#updatePercent">updatePercent</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/LoadTestTool.html" title="class in org.apache.hadoop.hbase.util">LoadTestTool</a></dt>
@@ -47800,6 +47876,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestCellComparator.html#val">val</a></span> - Variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestCellComparator.html" title="class in org.apache.hadoop.hbase">TestCellComparator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#VAL1">VAL1</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#VAL2">VAL2</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html#VAL3">VAL3</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase">TestRegionServerMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/TestColumnPaginationFilter.html#VAL_1">VAL_1</a></span> - Static variable in class org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/TestColumnPaginationFilter.html" title="class in org.apache.hadoop.hbase.filter">TestColumnPaginationFilter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/TestFirstKeyValueMatchingQualifiersFilter.html#VAL_1">VAL_1</a></span> - Static variable in class org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/TestFirstKeyValueMatchingQualifiersFilter.html" title="class in org.apache.hadoop.hbase.filter">TestFirstKeyValueMatchingQualifiersFilter</a></dt>
@@ -48202,6 +48284,10 @@
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase">TestRegionServerMetrics.Metric</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/ProcessBasedLocalHBaseCluster.ServerType.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/ProcessBasedLocalHBaseCluster.ServerType.html" title="enum in org.apache.hadoop.hbase.util">ProcessBasedLocalHBaseCluster.ServerType</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
@@ -48356,6 +48442,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="strong"><a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html#values()">values()</a></span> - Static method in enum org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestRegionServerMetrics.Metric.html" title="enum in org.apache.hadoop.hbase">TestRegionServerMetrics.Metric</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/types/TestFixedLengthWrapper.html#VALUES">VALUES</a></span> - Static variable in class org.apache.hadoop.hbase.types.<a href="./org/apache/hadoop/hbase/types/TestFixedLengthWrapper.html" title="class in org.apache.hadoop.hbase.types">TestFixedLengthWrapper</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/types/TestOrderedBlob.html#VALUES">VALUES</a></span> - Static variable in class org.apache.hadoop.hbase.types.<a href="./org/apache/hadoop/hbase/types/TestOrderedBlob.html" title="class in org.apache.hadoop.hbase.types">TestOrderedBlob</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInCompletionRegion.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInCompletionRegion.html b/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInCompletionRegion.html
index 238d0c0..1b3a5b4 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInCompletionRegion.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInCompletionRegion.html
@@ -220,7 +220,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/TestIOFencing.CompactionBlo
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.HRegion</h3>
-<code>addAndGetGlobalMemstoreSize, addRegionToMETA, addRegionToSnapshot, append, append, areWritesEnabled, batchMutate, batchMutate, batchReplay, bulkLoadHFiles, checkAndMutate, checkAndRowMutate, checkFamilies, checkReadOnly, checkReadsEnabled, checkSplit, checkTimestamps, close, close, closeRegionOperation, closeRegionOperation, compact, compactStores, computeHDFSBlocksDistribution, computeHDFSBlocksDistribution, createHRegion, createHRegion, delete, deregisterChildren, doRegionCompactionPrep, equals, execService, flush, flushcache, get, get, getBlockedRequestsCount, getCellCompartor, getCheckAndMutateChecksFailed, getCheckAndMutateChecksPassed, getCompactionState, getCompactPriority, getCoprocessorHost, getDataInMemoryWithoutWAL, getEarliestFlushTimeForAllStores, getEffectiveDurability, getFilesystem, getHDFSBlocksDistribution, getLargestHStoreSize, getMaxFlushedSeqId, getMaxStoreSeqId, getMemstoreFlushSize, getMemstoreSize, getMetrics, getMVCC, getNextSequenceId, getNumMutations
 WithoutWAL, getOldestHfileTs, getOldestSeqIdOfStore, getOpenSeqNum, getReadpoint, getReadPoint, getReadRequestsCount, getRegionDir, getRegionDir, getRegionFileSystem, getRegionInfo, getRegionStats, getRowLock, getRowLock, getScanner, getScanner, getScanner, getScanner, getSequenceId, getSmallestReadPoint, getSplitPolicy, getStore, getStoreFileList, getStoreFileOpenAndCloseThreadPool, getStoreOpenAndCloseThreadPool, getStores, getTableDesc, getWAL, getWriteRequestsCount, hashCode, hasReferences, heapSize, increment, increment, initialize, instantiateRegionScanner, internalFlushcache, internalFlushCacheAndCommit, internalPrepareFlushCache, isAvailable, isClosed, isClosing, isLoadingCfsOnDemandDefault, isMergeable, isReadOnly, isRecovering, isSplittable, main, merge, mergeAdjacent, mutateRow, mutateRowsWithLocks, mutateRowsWithLocks, onConfigurationChange, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, p
 repareDelete, prepareDeleteTimestamps, prepareToSplit, processRowsWithLocks, processRowsWithLocks, processRowsWithLocks, put, refreshStoreFiles, refreshStoreFiles, registerChildren, registerService, releaseRowLocks, replayRecoveredEditsIfAny, reportCompactionRequestEnd, reportCompactionRequestStart, restoreEdit, rowIsInRange, rowIsInRange, setClosing, setCoprocessorHost, setReadsEnabled, setRecovering, startRegionOperation, startRegionOperation, toString, triggerMajorCompaction, updateCellTimestamps, updateReadRequestsCount, updateWriteRequestsCount, waitForFlushesAndCompactions, warmupHRegion</code></li>
+<code>addAndGetGlobalMemstoreSize, addRegionToMETA, addRegionToSnapshot, append, append, areWritesEnabled, batchMutate, batchMutate, batchReplay, bulkLoadHFiles, checkAndMutate, checkAndRowMutate, checkFamilies, checkReadOnly, checkReadsEnabled, checkSplit, checkTimestamps, close, close, closeRegionOperation, closeRegionOperation, compact, compactStores, computeHDFSBlocksDistribution, computeHDFSBlocksDistribution, createHRegion, createHRegion, delete, deregisterChildren, doRegionCompactionPrep, equals, execService, flush, flushcache, get, get, getBlockedRequestsCount, getCellCompartor, getCheckAndMutateChecksFailed, getCheckAndMutateChecksPassed, getCompactionState, getCompactPriority, getCoprocessorHost, getDataInMemoryWithoutWAL, getEarliestFlushTimeForAllStores, getEffectiveDurability, getFilesystem, getFilteredReadRequestsCount, getHDFSBlocksDistribution, getLargestHStoreSize, getMaxFlushedSeqId, getMaxStoreSeqId, getMemstoreFlushSize, getMemstoreSize, getMetrics, getMVCC, getN
 extSequenceId, getNumMutationsWithoutWAL, getOldestHfileTs, getOldestSeqIdOfStore, getOpenSeqNum, getReadpoint, getReadPoint, getReadRequestsCount, getRegionDir, getRegionDir, getRegionFileSystem, getRegionInfo, getRegionStats, getRowLock, getRowLock, getScanner, getScanner, getScanner, getScanner, getSequenceId, getSmallestReadPoint, getSplitPolicy, getStore, getStoreFileList, getStoreFileOpenAndCloseThreadPool, getStoreOpenAndCloseThreadPool, getStores, getTableDesc, getWAL, getWriteRequestsCount, hashCode, hasReferences, heapSize, increment, increment, initialize, instantiateRegionScanner, internalFlushcache, internalFlushCacheAndCommit, internalPrepareFlushCache, isAvailable, isClosed, isClosing, isLoadingCfsOnDemandDefault, isMergeable, isReadOnly, isRecovering, isSplittable, main, merge, mergeAdjacent, mutateRow, mutateRowsWithLocks, mutateRowsWithLocks, onConfigurationChange, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegio
 n, openHRegion, openHRegion, prepareDelete, prepareDeleteTimestamps, prepareToSplit, processRowsWithLocks, processRowsWithLocks, processRowsWithLocks, put, refreshStoreFiles, refreshStoreFiles, registerChildren, registerService, releaseRowLocks, replayRecoveredEditsIfAny, reportCompactionRequestEnd, reportCompactionRequestStart, restoreEdit, rowIsInRange, rowIsInRange, setClosing, setCoprocessorHost, setReadsEnabled, setRecovering, startRegionOperation, startRegionOperation, toString, triggerMajorCompaction, updateCellTimestamps, updateReadRequestsCount, updateWriteRequestsCount, waitForFlushesAndCompactions, warmupHRegion</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInPrepRegion.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInPrepRegion.html b/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInPrepRegion.html
index 1fc1a3a..8157e0f 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInPrepRegion.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInPrepRegion.html
@@ -219,7 +219,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/TestIOFencing.CompactionBlo
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.HRegion</h3>
-<code>addAndGetGlobalMemstoreSize, addRegionToMETA, addRegionToSnapshot, append, append, areWritesEnabled, batchMutate, batchMutate, batchReplay, bulkLoadHFiles, checkAndMutate, checkAndRowMutate, checkFamilies, checkReadOnly, checkReadsEnabled, checkSplit, checkTimestamps, close, close, closeRegionOperation, closeRegionOperation, compact, compactStores, computeHDFSBlocksDistribution, computeHDFSBlocksDistribution, createHRegion, createHRegion, delete, deregisterChildren, equals, execService, flush, flushcache, get, get, getBlockedRequestsCount, getCellCompartor, getCheckAndMutateChecksFailed, getCheckAndMutateChecksPassed, getCompactionState, getCompactPriority, getCoprocessorHost, getDataInMemoryWithoutWAL, getEarliestFlushTimeForAllStores, getEffectiveDurability, getFilesystem, getHDFSBlocksDistribution, getLargestHStoreSize, getMaxFlushedSeqId, getMaxStoreSeqId, getMemstoreFlushSize, getMemstoreSize, getMetrics, getMVCC, getNextSequenceId, getNumMutationsWithoutWAL, getOldestHfi
 leTs, getOldestSeqIdOfStore, getOpenSeqNum, getReadpoint, getReadPoint, getReadRequestsCount, getRegionDir, getRegionDir, getRegionFileSystem, getRegionInfo, getRegionStats, getRowLock, getRowLock, getScanner, getScanner, getScanner, getScanner, getSequenceId, getSmallestReadPoint, getSplitPolicy, getStore, getStoreFileList, getStoreFileOpenAndCloseThreadPool, getStoreOpenAndCloseThreadPool, getStores, getTableDesc, getWAL, getWriteRequestsCount, hashCode, hasReferences, heapSize, increment, increment, initialize, instantiateHStore, instantiateRegionScanner, internalFlushcache, internalFlushCacheAndCommit, internalPrepareFlushCache, isAvailable, isClosed, isClosing, isLoadingCfsOnDemandDefault, isMergeable, isReadOnly, isRecovering, isSplittable, main, merge, mergeAdjacent, mutateRow, mutateRowsWithLocks, mutateRowsWithLocks, onConfigurationChange, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, prepar
 eDelete, prepareDeleteTimestamps, prepareToSplit, processRowsWithLocks, processRowsWithLocks, processRowsWithLocks, put, refreshStoreFiles, refreshStoreFiles, registerChildren, registerService, releaseRowLocks, replayRecoveredEditsIfAny, reportCompactionRequestEnd, reportCompactionRequestStart, restoreEdit, rowIsInRange, rowIsInRange, setClosing, setCoprocessorHost, setReadsEnabled, setRecovering, startRegionOperation, startRegionOperation, toString, triggerMajorCompaction, updateCellTimestamps, updateReadRequestsCount, updateWriteRequestsCount, waitForFlushesAndCompactions, warmupHRegion</code></li>
+<code>addAndGetGlobalMemstoreSize, addRegionToMETA, addRegionToSnapshot, append, append, areWritesEnabled, batchMutate, batchMutate, batchReplay, bulkLoadHFiles, checkAndMutate, checkAndRowMutate, checkFamilies, checkReadOnly, checkReadsEnabled, checkSplit, checkTimestamps, close, close, closeRegionOperation, closeRegionOperation, compact, compactStores, computeHDFSBlocksDistribution, computeHDFSBlocksDistribution, createHRegion, createHRegion, delete, deregisterChildren, equals, execService, flush, flushcache, get, get, getBlockedRequestsCount, getCellCompartor, getCheckAndMutateChecksFailed, getCheckAndMutateChecksPassed, getCompactionState, getCompactPriority, getCoprocessorHost, getDataInMemoryWithoutWAL, getEarliestFlushTimeForAllStores, getEffectiveDurability, getFilesystem, getFilteredReadRequestsCount, getHDFSBlocksDistribution, getLargestHStoreSize, getMaxFlushedSeqId, getMaxStoreSeqId, getMemstoreFlushSize, getMemstoreSize, getMetrics, getMVCC, getNextSequenceId, getNumMut
 ationsWithoutWAL, getOldestHfileTs, getOldestSeqIdOfStore, getOpenSeqNum, getReadpoint, getReadPoint, getReadRequestsCount, getRegionDir, getRegionDir, getRegionFileSystem, getRegionInfo, getRegionStats, getRowLock, getRowLock, getScanner, getScanner, getScanner, getScanner, getSequenceId, getSmallestReadPoint, getSplitPolicy, getStore, getStoreFileList, getStoreFileOpenAndCloseThreadPool, getStoreOpenAndCloseThreadPool, getStores, getTableDesc, getWAL, getWriteRequestsCount, hashCode, hasReferences, heapSize, increment, increment, initialize, instantiateHStore, instantiateRegionScanner, internalFlushcache, internalFlushCacheAndCommit, internalPrepareFlushCache, isAvailable, isClosed, isClosing, isLoadingCfsOnDemandDefault, isMergeable, isReadOnly, isRecovering, isSplittable, main, merge, mergeAdjacent, mutateRow, mutateRowsWithLocks, mutateRowsWithLocks, onConfigurationChange, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, op
 enHRegion, openHRegion, prepareDelete, prepareDeleteTimestamps, prepareToSplit, processRowsWithLocks, processRowsWithLocks, processRowsWithLocks, put, refreshStoreFiles, refreshStoreFiles, registerChildren, registerService, releaseRowLocks, replayRecoveredEditsIfAny, reportCompactionRequestEnd, reportCompactionRequestStart, restoreEdit, rowIsInRange, rowIsInRange, setClosing, setCoprocessorHost, setReadsEnabled, setRecovering, startRegionOperation, startRegionOperation, toString, triggerMajorCompaction, updateCellTimestamps, updateReadRequestsCount, updateWriteRequestsCount, waitForFlushesAndCompactions, warmupHRegion</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.CompactionBlockerRegion.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.CompactionBlockerRegion.html b/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.CompactionBlockerRegion.html
index fe73a0a..6c354e9 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.CompactionBlockerRegion.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/TestIOFencing.CompactionBlockerRegion.html
@@ -246,7 +246,7 @@ extends org.apache.hadoop.hbase.regionserver.HRegion</pre>
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.regionserver.HRegion</h3>
-<code>addAndGetGlobalMemstoreSize, addRegionToMETA, addRegionToSnapshot, append, append, areWritesEnabled, batchMutate, batchMutate, batchReplay, bulkLoadHFiles, checkAndMutate, checkAndRowMutate, checkFamilies, checkReadOnly, checkReadsEnabled, checkSplit, checkTimestamps, close, close, closeRegionOperation, closeRegionOperation, compact, compactStores, computeHDFSBlocksDistribution, computeHDFSBlocksDistribution, createHRegion, createHRegion, delete, deregisterChildren, doRegionCompactionPrep, equals, execService, flush, flushcache, get, get, getBlockedRequestsCount, getCellCompartor, getCheckAndMutateChecksFailed, getCheckAndMutateChecksPassed, getCompactionState, getCompactPriority, getCoprocessorHost, getDataInMemoryWithoutWAL, getEarliestFlushTimeForAllStores, getEffectiveDurability, getFilesystem, getHDFSBlocksDistribution, getLargestHStoreSize, getMaxFlushedSeqId, getMaxStoreSeqId, getMemstoreFlushSize, getMemstoreSize, getMetrics, getMVCC, getNextSequenceId, getNumMutations
 WithoutWAL, getOldestHfileTs, getOldestSeqIdOfStore, getOpenSeqNum, getReadpoint, getReadPoint, getReadRequestsCount, getRegionDir, getRegionDir, getRegionFileSystem, getRegionInfo, getRegionStats, getRowLock, getRowLock, getScanner, getScanner, getScanner, getScanner, getSequenceId, getSmallestReadPoint, getSplitPolicy, getStore, getStoreFileList, getStoreFileOpenAndCloseThreadPool, getStoreOpenAndCloseThreadPool, getStores, getTableDesc, getWAL, getWriteRequestsCount, hashCode, hasReferences, heapSize, increment, increment, initialize, instantiateHStore, instantiateRegionScanner, internalFlushcache, internalFlushCacheAndCommit, internalPrepareFlushCache, isAvailable, isClosed, isClosing, isLoadingCfsOnDemandDefault, isMergeable, isReadOnly, isRecovering, isSplittable, main, merge, mergeAdjacent, mutateRow, mutateRowsWithLocks, mutateRowsWithLocks, onConfigurationChange, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHReg
 ion, openHRegion, prepareDelete, prepareDeleteTimestamps, prepareToSplit, processRowsWithLocks, processRowsWithLocks, processRowsWithLocks, put, refreshStoreFiles, refreshStoreFiles, registerChildren, registerService, releaseRowLocks, replayRecoveredEditsIfAny, reportCompactionRequestEnd, reportCompactionRequestStart, restoreEdit, rowIsInRange, rowIsInRange, setClosing, setCoprocessorHost, setReadsEnabled, setRecovering, startRegionOperation, startRegionOperation, toString, triggerMajorCompaction, updateCellTimestamps, updateReadRequestsCount, updateWriteRequestsCount, waitForFlushesAndCompactions, warmupHRegion</code></li>
+<code>addAndGetGlobalMemstoreSize, addRegionToMETA, addRegionToSnapshot, append, append, areWritesEnabled, batchMutate, batchMutate, batchReplay, bulkLoadHFiles, checkAndMutate, checkAndRowMutate, checkFamilies, checkReadOnly, checkReadsEnabled, checkSplit, checkTimestamps, close, close, closeRegionOperation, closeRegionOperation, compact, compactStores, computeHDFSBlocksDistribution, computeHDFSBlocksDistribution, createHRegion, createHRegion, delete, deregisterChildren, doRegionCompactionPrep, equals, execService, flush, flushcache, get, get, getBlockedRequestsCount, getCellCompartor, getCheckAndMutateChecksFailed, getCheckAndMutateChecksPassed, getCompactionState, getCompactPriority, getCoprocessorHost, getDataInMemoryWithoutWAL, getEarliestFlushTimeForAllStores, getEffectiveDurability, getFilesystem, getFilteredReadRequestsCount, getHDFSBlocksDistribution, getLargestHStoreSize, getMaxFlushedSeqId, getMaxStoreSeqId, getMemstoreFlushSize, getMemstoreSize, getMetrics, getMVCC, getN
 extSequenceId, getNumMutationsWithoutWAL, getOldestHfileTs, getOldestSeqIdOfStore, getOpenSeqNum, getReadpoint, getReadPoint, getReadRequestsCount, getRegionDir, getRegionDir, getRegionFileSystem, getRegionInfo, getRegionStats, getRowLock, getRowLock, getScanner, getScanner, getScanner, getScanner, getSequenceId, getSmallestReadPoint, getSplitPolicy, getStore, getStoreFileList, getStoreFileOpenAndCloseThreadPool, getStoreOpenAndCloseThreadPool, getStores, getTableDesc, getWAL, getWriteRequestsCount, hashCode, hasReferences, heapSize, increment, increment, initialize, instantiateHStore, instantiateRegionScanner, internalFlushcache, internalFlushCacheAndCommit, internalPrepareFlushCache, isAvailable, isClosed, isClosing, isLoadingCfsOnDemandDefault, isMergeable, isReadOnly, isRecovering, isSplittable, main, merge, mergeAdjacent, mutateRow, mutateRowsWithLocks, mutateRowsWithLocks, onConfigurationChange, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, openHRegion, open
 HRegion, openHRegion, openHRegion, openHRegion, prepareDelete, prepareDeleteTimestamps, prepareToSplit, processRowsWithLocks, processRowsWithLocks, processRowsWithLocks, put, refreshStoreFiles, refreshStoreFiles, registerChildren, registerService, releaseRowLocks, replayRecoveredEditsIfAny, reportCompactionRequestEnd, reportCompactionRequestStart, restoreEdit, rowIsInRange, rowIsInRange, setClosing, setCoprocessorHost, setReadsEnabled, setRecovering, startRegionOperation, startRegionOperation, toString, triggerMajorCompaction, updateCellTimestamps, updateReadRequestsCount, updateWriteRequestsCount, waitForFlushesAndCompactions, warmupHRegion</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/testdevapidocs/org/apache/hadoop/hbase/TestRegionRebalancing.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/TestRegionRebalancing.html b/testdevapidocs/org/apache/hadoop/hbase/TestRegionRebalancing.html
index a1294d0..3cecfc1 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/TestRegionRebalancing.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/TestRegionRebalancing.html
@@ -36,7 +36,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/hadoop/hbase/TestRegionLocations.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../org/apache/hadoop/hbase/TestSerialization.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/hadoop/hbase/TestRegionRebalancing.html" target="_top">Frames</a></li>
@@ -436,7 +436,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/hadoop/hbase/TestRegionLocations.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../org/apache/hadoop/hbase/TestSerialization.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/TestRegionServerMetrics.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/hadoop/hbase/TestRegionRebalancing.html" target="_top">Frames</a></li>

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


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
index 15a56a3..e25b9c2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
@@ -121,261 +121,266 @@
 <span class="sourceLineNo">113</span>  long getReadRequestsCount();<a name="line.113"></a>
 <span class="sourceLineNo">114</span><a name="line.114"></a>
 <span class="sourceLineNo">115</span>  /**<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * Get the number of write requests to regions hosted on this region server.<a name="line.116"></a>
+<span class="sourceLineNo">116</span>   * Get the number of filtered read requests to regions hosted on this region server.<a name="line.116"></a>
 <span class="sourceLineNo">117</span>   */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  long getWriteRequestsCount();<a name="line.118"></a>
+<span class="sourceLineNo">118</span>  long getFilteredReadRequestsCount();<a name="line.118"></a>
 <span class="sourceLineNo">119</span><a name="line.119"></a>
 <span class="sourceLineNo">120</span>  /**<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * Get the number of CAS operations that failed.<a name="line.121"></a>
+<span class="sourceLineNo">121</span>   * Get the number of write requests to regions hosted on this region server.<a name="line.121"></a>
 <span class="sourceLineNo">122</span>   */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  long getCheckAndMutateChecksFailed();<a name="line.123"></a>
+<span class="sourceLineNo">123</span>  long getWriteRequestsCount();<a name="line.123"></a>
 <span class="sourceLineNo">124</span><a name="line.124"></a>
 <span class="sourceLineNo">125</span>  /**<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * Get the number of CAS operations that passed.<a name="line.126"></a>
+<span class="sourceLineNo">126</span>   * Get the number of CAS operations that failed.<a name="line.126"></a>
 <span class="sourceLineNo">127</span>   */<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  long getCheckAndMutateChecksPassed();<a name="line.128"></a>
+<span class="sourceLineNo">128</span>  long getCheckAndMutateChecksFailed();<a name="line.128"></a>
 <span class="sourceLineNo">129</span><a name="line.129"></a>
 <span class="sourceLineNo">130</span>  /**<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * Get the Size (in bytes) of indexes in storefiles on disk.<a name="line.131"></a>
+<span class="sourceLineNo">131</span>   * Get the number of CAS operations that passed.<a name="line.131"></a>
 <span class="sourceLineNo">132</span>   */<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  long getStoreFileIndexSize();<a name="line.133"></a>
+<span class="sourceLineNo">133</span>  long getCheckAndMutateChecksPassed();<a name="line.133"></a>
 <span class="sourceLineNo">134</span><a name="line.134"></a>
 <span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * Get the size (in bytes) of of the static indexes including the roots.<a name="line.136"></a>
+<span class="sourceLineNo">136</span>   * Get the Size (in bytes) of indexes in storefiles on disk.<a name="line.136"></a>
 <span class="sourceLineNo">137</span>   */<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  long getTotalStaticIndexSize();<a name="line.138"></a>
+<span class="sourceLineNo">138</span>  long getStoreFileIndexSize();<a name="line.138"></a>
 <span class="sourceLineNo">139</span><a name="line.139"></a>
 <span class="sourceLineNo">140</span>  /**<a name="line.140"></a>
-<span class="sourceLineNo">141</span>   * Get the size (in bytes) of the static bloom filters.<a name="line.141"></a>
+<span class="sourceLineNo">141</span>   * Get the size (in bytes) of of the static indexes including the roots.<a name="line.141"></a>
 <span class="sourceLineNo">142</span>   */<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  long getTotalStaticBloomSize();<a name="line.143"></a>
+<span class="sourceLineNo">143</span>  long getTotalStaticIndexSize();<a name="line.143"></a>
 <span class="sourceLineNo">144</span><a name="line.144"></a>
 <span class="sourceLineNo">145</span>  /**<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * Number of mutations received with WAL explicitly turned off.<a name="line.146"></a>
+<span class="sourceLineNo">146</span>   * Get the size (in bytes) of the static bloom filters.<a name="line.146"></a>
 <span class="sourceLineNo">147</span>   */<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  long getNumMutationsWithoutWAL();<a name="line.148"></a>
+<span class="sourceLineNo">148</span>  long getTotalStaticBloomSize();<a name="line.148"></a>
 <span class="sourceLineNo">149</span><a name="line.149"></a>
 <span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * Ammount of data in the memstore but not in the WAL because mutations explicitly had their<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * WAL turned off.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   */<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  long getDataInMemoryWithoutWAL();<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  /**<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   * Get the percent of HFiles' that are local.<a name="line.157"></a>
+<span class="sourceLineNo">151</span>   * Number of mutations received with WAL explicitly turned off.<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   */<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  long getNumMutationsWithoutWAL();<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  /**<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * Ammount of data in the memstore but not in the WAL because mutations explicitly had their<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   * WAL turned off.<a name="line.157"></a>
 <span class="sourceLineNo">158</span>   */<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  double getPercentFileLocal();<a name="line.159"></a>
+<span class="sourceLineNo">159</span>  long getDataInMemoryWithoutWAL();<a name="line.159"></a>
 <span class="sourceLineNo">160</span><a name="line.160"></a>
 <span class="sourceLineNo">161</span>  /**<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * Get the percent of HFiles' that are local for secondary region replicas.<a name="line.162"></a>
+<span class="sourceLineNo">162</span>   * Get the percent of HFiles' that are local.<a name="line.162"></a>
 <span class="sourceLineNo">163</span>   */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  double getPercentFileLocalSecondaryRegions();<a name="line.164"></a>
+<span class="sourceLineNo">164</span>  double getPercentFileLocal();<a name="line.164"></a>
 <span class="sourceLineNo">165</span><a name="line.165"></a>
 <span class="sourceLineNo">166</span>  /**<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * Get the size of the split queue<a name="line.167"></a>
+<span class="sourceLineNo">167</span>   * Get the percent of HFiles' that are local for secondary region replicas.<a name="line.167"></a>
 <span class="sourceLineNo">168</span>   */<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  int getSplitQueueSize();<a name="line.169"></a>
+<span class="sourceLineNo">169</span>  double getPercentFileLocalSecondaryRegions();<a name="line.169"></a>
 <span class="sourceLineNo">170</span><a name="line.170"></a>
 <span class="sourceLineNo">171</span>  /**<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * Get the size of the compaction queue<a name="line.172"></a>
+<span class="sourceLineNo">172</span>   * Get the size of the split queue<a name="line.172"></a>
 <span class="sourceLineNo">173</span>   */<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  int getCompactionQueueSize();<a name="line.174"></a>
+<span class="sourceLineNo">174</span>  int getSplitQueueSize();<a name="line.174"></a>
 <span class="sourceLineNo">175</span><a name="line.175"></a>
-<span class="sourceLineNo">176</span>  int getSmallCompactionQueueSize();<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>  int getLargeCompactionQueueSize();<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * Get the size of the flush queue.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   */<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  int getFlushQueueSize();<a name="line.183"></a>
+<span class="sourceLineNo">176</span>  /**<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   * Get the size of the compaction queue<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   */<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  int getCompactionQueueSize();<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  int getSmallCompactionQueueSize();<a name="line.181"></a>
+<span class="sourceLineNo">182</span><a name="line.182"></a>
+<span class="sourceLineNo">183</span>  int getLargeCompactionQueueSize();<a name="line.183"></a>
 <span class="sourceLineNo">184</span><a name="line.184"></a>
 <span class="sourceLineNo">185</span>  /**<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   * Get the size (in bytes) of the block cache that is free.<a name="line.186"></a>
+<span class="sourceLineNo">186</span>   * Get the size of the flush queue.<a name="line.186"></a>
 <span class="sourceLineNo">187</span>   */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  long getBlockCacheFreeSize();<a name="line.188"></a>
+<span class="sourceLineNo">188</span>  int getFlushQueueSize();<a name="line.188"></a>
 <span class="sourceLineNo">189</span><a name="line.189"></a>
 <span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
-<span class="sourceLineNo">191</span>   * Get the number of items in the block cache.<a name="line.191"></a>
+<span class="sourceLineNo">191</span>   * Get the size (in bytes) of the block cache that is free.<a name="line.191"></a>
 <span class="sourceLineNo">192</span>   */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  long getBlockCacheCount();<a name="line.193"></a>
+<span class="sourceLineNo">193</span>  long getBlockCacheFreeSize();<a name="line.193"></a>
 <span class="sourceLineNo">194</span><a name="line.194"></a>
 <span class="sourceLineNo">195</span>  /**<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * Get the total size (in bytes) of the block cache.<a name="line.196"></a>
+<span class="sourceLineNo">196</span>   * Get the number of items in the block cache.<a name="line.196"></a>
 <span class="sourceLineNo">197</span>   */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  long getBlockCacheSize();<a name="line.198"></a>
+<span class="sourceLineNo">198</span>  long getBlockCacheCount();<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
 <span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * Get the count of hits to the block cache<a name="line.201"></a>
+<span class="sourceLineNo">201</span>   * Get the total size (in bytes) of the block cache.<a name="line.201"></a>
 <span class="sourceLineNo">202</span>   */<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  long getBlockCacheHitCount();<a name="line.203"></a>
+<span class="sourceLineNo">203</span>  long getBlockCacheSize();<a name="line.203"></a>
 <span class="sourceLineNo">204</span><a name="line.204"></a>
 <span class="sourceLineNo">205</span>  /**<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * Get the count of hits to primary replica in the block cache<a name="line.206"></a>
+<span class="sourceLineNo">206</span>   * Get the count of hits to the block cache<a name="line.206"></a>
 <span class="sourceLineNo">207</span>   */<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  long getBlockCachePrimaryHitCount();<a name="line.208"></a>
+<span class="sourceLineNo">208</span>  long getBlockCacheHitCount();<a name="line.208"></a>
 <span class="sourceLineNo">209</span><a name="line.209"></a>
 <span class="sourceLineNo">210</span>  /**<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * Get the count of misses to the block cache.<a name="line.211"></a>
+<span class="sourceLineNo">211</span>   * Get the count of hits to primary replica in the block cache<a name="line.211"></a>
 <span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  long getBlockCacheMissCount();<a name="line.213"></a>
+<span class="sourceLineNo">213</span>  long getBlockCachePrimaryHitCount();<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
 <span class="sourceLineNo">215</span>  /**<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * Get the count of misses to primary replica in the block cache.<a name="line.216"></a>
+<span class="sourceLineNo">216</span>   * Get the count of misses to the block cache.<a name="line.216"></a>
 <span class="sourceLineNo">217</span>   */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  long getBlockCachePrimaryMissCount();<a name="line.218"></a>
+<span class="sourceLineNo">218</span>  long getBlockCacheMissCount();<a name="line.218"></a>
 <span class="sourceLineNo">219</span><a name="line.219"></a>
 <span class="sourceLineNo">220</span>  /**<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * Get the number of items evicted from the block cache.<a name="line.221"></a>
+<span class="sourceLineNo">221</span>   * Get the count of misses to primary replica in the block cache.<a name="line.221"></a>
 <span class="sourceLineNo">222</span>   */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  long getBlockCacheEvictedCount();<a name="line.223"></a>
+<span class="sourceLineNo">223</span>  long getBlockCachePrimaryMissCount();<a name="line.223"></a>
 <span class="sourceLineNo">224</span><a name="line.224"></a>
 <span class="sourceLineNo">225</span>  /**<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   * Get the number of items evicted from primary replica in the block cache.<a name="line.226"></a>
+<span class="sourceLineNo">226</span>   * Get the number of items evicted from the block cache.<a name="line.226"></a>
 <span class="sourceLineNo">227</span>   */<a name="line.227"></a>
-<span class="sourceLineNo">228</span>  long getBlockCachePrimaryEvictedCount();<a name="line.228"></a>
+<span class="sourceLineNo">228</span>  long getBlockCacheEvictedCount();<a name="line.228"></a>
 <span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>  /**<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * Get the percent of all requests that hit the block cache.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  double getBlockCacheHitPercent();<a name="line.234"></a>
+<span class="sourceLineNo">230</span>  /**<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * Get the number of items evicted from primary replica in the block cache.<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  long getBlockCachePrimaryEvictedCount();<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
 <span class="sourceLineNo">235</span><a name="line.235"></a>
 <span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * Get the percent of requests with the block cache turned on that hit the block cache.<a name="line.237"></a>
+<span class="sourceLineNo">237</span>   * Get the percent of all requests that hit the block cache.<a name="line.237"></a>
 <span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  double getBlockCacheHitCachingPercent();<a name="line.239"></a>
+<span class="sourceLineNo">239</span>  double getBlockCacheHitPercent();<a name="line.239"></a>
 <span class="sourceLineNo">240</span><a name="line.240"></a>
 <span class="sourceLineNo">241</span>  /**<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * Number of cache insertions that failed.<a name="line.242"></a>
+<span class="sourceLineNo">242</span>   * Get the percent of requests with the block cache turned on that hit the block cache.<a name="line.242"></a>
 <span class="sourceLineNo">243</span>   */<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  long getBlockCacheFailedInsertions();<a name="line.244"></a>
+<span class="sourceLineNo">244</span>  double getBlockCacheHitCachingPercent();<a name="line.244"></a>
 <span class="sourceLineNo">245</span><a name="line.245"></a>
 <span class="sourceLineNo">246</span>  /**<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * Force a re-computation of the metrics.<a name="line.247"></a>
+<span class="sourceLineNo">247</span>   * Number of cache insertions that failed.<a name="line.247"></a>
 <span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  void forceRecompute();<a name="line.249"></a>
+<span class="sourceLineNo">249</span>  long getBlockCacheFailedInsertions();<a name="line.249"></a>
 <span class="sourceLineNo">250</span><a name="line.250"></a>
 <span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Get the amount of time that updates were blocked.<a name="line.252"></a>
+<span class="sourceLineNo">252</span>   * Force a re-computation of the metrics.<a name="line.252"></a>
 <span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  long getUpdatesBlockedTime();<a name="line.254"></a>
+<span class="sourceLineNo">254</span>  void forceRecompute();<a name="line.254"></a>
 <span class="sourceLineNo">255</span><a name="line.255"></a>
 <span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * Get the number of cells flushed to disk.<a name="line.257"></a>
+<span class="sourceLineNo">257</span>   * Get the amount of time that updates were blocked.<a name="line.257"></a>
 <span class="sourceLineNo">258</span>   */<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  long getFlushedCellsCount();<a name="line.259"></a>
+<span class="sourceLineNo">259</span>  long getUpdatesBlockedTime();<a name="line.259"></a>
 <span class="sourceLineNo">260</span><a name="line.260"></a>
 <span class="sourceLineNo">261</span>  /**<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   * Get the number of cells processed during minor compactions.<a name="line.262"></a>
+<span class="sourceLineNo">262</span>   * Get the number of cells flushed to disk.<a name="line.262"></a>
 <span class="sourceLineNo">263</span>   */<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  long getCompactedCellsCount();<a name="line.264"></a>
+<span class="sourceLineNo">264</span>  long getFlushedCellsCount();<a name="line.264"></a>
 <span class="sourceLineNo">265</span><a name="line.265"></a>
 <span class="sourceLineNo">266</span>  /**<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   * Get the number of cells processed during major compactions.<a name="line.267"></a>
+<span class="sourceLineNo">267</span>   * Get the number of cells processed during minor compactions.<a name="line.267"></a>
 <span class="sourceLineNo">268</span>   */<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  long getMajorCompactedCellsCount();<a name="line.269"></a>
+<span class="sourceLineNo">269</span>  long getCompactedCellsCount();<a name="line.269"></a>
 <span class="sourceLineNo">270</span><a name="line.270"></a>
 <span class="sourceLineNo">271</span>  /**<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * Get the total amount of data flushed to disk, in bytes.<a name="line.272"></a>
+<span class="sourceLineNo">272</span>   * Get the number of cells processed during major compactions.<a name="line.272"></a>
 <span class="sourceLineNo">273</span>   */<a name="line.273"></a>
-<span class="sourceLineNo">274</span>  long getFlushedCellsSize();<a name="line.274"></a>
+<span class="sourceLineNo">274</span>  long getMajorCompactedCellsCount();<a name="line.274"></a>
 <span class="sourceLineNo">275</span><a name="line.275"></a>
 <span class="sourceLineNo">276</span>  /**<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   * Get the total amount of data processed during minor compactions, in bytes.<a name="line.277"></a>
+<span class="sourceLineNo">277</span>   * Get the total amount of data flushed to disk, in bytes.<a name="line.277"></a>
 <span class="sourceLineNo">278</span>   */<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  long getCompactedCellsSize();<a name="line.279"></a>
+<span class="sourceLineNo">279</span>  long getFlushedCellsSize();<a name="line.279"></a>
 <span class="sourceLineNo">280</span><a name="line.280"></a>
 <span class="sourceLineNo">281</span>  /**<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * Get the total amount of data processed during major compactions, in bytes.<a name="line.282"></a>
+<span class="sourceLineNo">282</span>   * Get the total amount of data processed during minor compactions, in bytes.<a name="line.282"></a>
 <span class="sourceLineNo">283</span>   */<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  long getMajorCompactedCellsSize();<a name="line.284"></a>
+<span class="sourceLineNo">284</span>  long getCompactedCellsSize();<a name="line.284"></a>
 <span class="sourceLineNo">285</span><a name="line.285"></a>
 <span class="sourceLineNo">286</span>  /**<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   * Gets the number of cells moved to mob during compaction.<a name="line.287"></a>
+<span class="sourceLineNo">287</span>   * Get the total amount of data processed during major compactions, in bytes.<a name="line.287"></a>
 <span class="sourceLineNo">288</span>   */<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  long getCellsCountCompactedToMob();<a name="line.289"></a>
+<span class="sourceLineNo">289</span>  long getMajorCompactedCellsSize();<a name="line.289"></a>
 <span class="sourceLineNo">290</span><a name="line.290"></a>
 <span class="sourceLineNo">291</span>  /**<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * Gets the number of cells moved from mob during compaction.<a name="line.292"></a>
+<span class="sourceLineNo">292</span>   * Gets the number of cells moved to mob during compaction.<a name="line.292"></a>
 <span class="sourceLineNo">293</span>   */<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  long getCellsCountCompactedFromMob();<a name="line.294"></a>
+<span class="sourceLineNo">294</span>  long getCellsCountCompactedToMob();<a name="line.294"></a>
 <span class="sourceLineNo">295</span><a name="line.295"></a>
 <span class="sourceLineNo">296</span>  /**<a name="line.296"></a>
-<span class="sourceLineNo">297</span>   * Gets the total amount of cells moved to mob during compaction, in bytes.<a name="line.297"></a>
+<span class="sourceLineNo">297</span>   * Gets the number of cells moved from mob during compaction.<a name="line.297"></a>
 <span class="sourceLineNo">298</span>   */<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  long getCellsSizeCompactedToMob();<a name="line.299"></a>
+<span class="sourceLineNo">299</span>  long getCellsCountCompactedFromMob();<a name="line.299"></a>
 <span class="sourceLineNo">300</span><a name="line.300"></a>
 <span class="sourceLineNo">301</span>  /**<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * Gets the total amount of cells moved from mob during compaction, in bytes.<a name="line.302"></a>
+<span class="sourceLineNo">302</span>   * Gets the total amount of cells moved to mob during compaction, in bytes.<a name="line.302"></a>
 <span class="sourceLineNo">303</span>   */<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  long getCellsSizeCompactedFromMob();<a name="line.304"></a>
+<span class="sourceLineNo">304</span>  long getCellsSizeCompactedToMob();<a name="line.304"></a>
 <span class="sourceLineNo">305</span><a name="line.305"></a>
 <span class="sourceLineNo">306</span>  /**<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   * Gets the number of the flushes in mob-enabled stores.<a name="line.307"></a>
+<span class="sourceLineNo">307</span>   * Gets the total amount of cells moved from mob during compaction, in bytes.<a name="line.307"></a>
 <span class="sourceLineNo">308</span>   */<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  long getMobFlushCount();<a name="line.309"></a>
+<span class="sourceLineNo">309</span>  long getCellsSizeCompactedFromMob();<a name="line.309"></a>
 <span class="sourceLineNo">310</span><a name="line.310"></a>
 <span class="sourceLineNo">311</span>  /**<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * Gets the number of mob cells flushed to disk.<a name="line.312"></a>
+<span class="sourceLineNo">312</span>   * Gets the number of the flushes in mob-enabled stores.<a name="line.312"></a>
 <span class="sourceLineNo">313</span>   */<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  long getMobFlushedCellsCount();<a name="line.314"></a>
+<span class="sourceLineNo">314</span>  long getMobFlushCount();<a name="line.314"></a>
 <span class="sourceLineNo">315</span><a name="line.315"></a>
 <span class="sourceLineNo">316</span>  /**<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * Gets the total amount of mob cells flushed to disk, in bytes.<a name="line.317"></a>
+<span class="sourceLineNo">317</span>   * Gets the number of mob cells flushed to disk.<a name="line.317"></a>
 <span class="sourceLineNo">318</span>   */<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  long getMobFlushedCellsSize();<a name="line.319"></a>
+<span class="sourceLineNo">319</span>  long getMobFlushedCellsCount();<a name="line.319"></a>
 <span class="sourceLineNo">320</span><a name="line.320"></a>
 <span class="sourceLineNo">321</span>  /**<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   * Gets the number of scanned mob cells.<a name="line.322"></a>
+<span class="sourceLineNo">322</span>   * Gets the total amount of mob cells flushed to disk, in bytes.<a name="line.322"></a>
 <span class="sourceLineNo">323</span>   */<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  long getMobScanCellsCount();<a name="line.324"></a>
+<span class="sourceLineNo">324</span>  long getMobFlushedCellsSize();<a name="line.324"></a>
 <span class="sourceLineNo">325</span><a name="line.325"></a>
 <span class="sourceLineNo">326</span>  /**<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   * Gets the total amount of scanned mob cells, in bytes.<a name="line.327"></a>
+<span class="sourceLineNo">327</span>   * Gets the number of scanned mob cells.<a name="line.327"></a>
 <span class="sourceLineNo">328</span>   */<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  long getMobScanCellsSize();<a name="line.329"></a>
+<span class="sourceLineNo">329</span>  long getMobScanCellsCount();<a name="line.329"></a>
 <span class="sourceLineNo">330</span><a name="line.330"></a>
 <span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * Gets the count of accesses to the mob file cache.<a name="line.332"></a>
+<span class="sourceLineNo">332</span>   * Gets the total amount of scanned mob cells, in bytes.<a name="line.332"></a>
 <span class="sourceLineNo">333</span>   */<a name="line.333"></a>
-<span class="sourceLineNo">334</span>  long getMobFileCacheAccessCount();<a name="line.334"></a>
+<span class="sourceLineNo">334</span>  long getMobScanCellsSize();<a name="line.334"></a>
 <span class="sourceLineNo">335</span><a name="line.335"></a>
 <span class="sourceLineNo">336</span>  /**<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * Gets the count of misses to the mob file cache.<a name="line.337"></a>
+<span class="sourceLineNo">337</span>   * Gets the count of accesses to the mob file cache.<a name="line.337"></a>
 <span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  long getMobFileCacheMissCount();<a name="line.339"></a>
+<span class="sourceLineNo">339</span>  long getMobFileCacheAccessCount();<a name="line.339"></a>
 <span class="sourceLineNo">340</span><a name="line.340"></a>
 <span class="sourceLineNo">341</span>  /**<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * Gets the number of items evicted from the mob file cache.<a name="line.342"></a>
+<span class="sourceLineNo">342</span>   * Gets the count of misses to the mob file cache.<a name="line.342"></a>
 <span class="sourceLineNo">343</span>   */<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  long getMobFileCacheEvictedCount();<a name="line.344"></a>
+<span class="sourceLineNo">344</span>  long getMobFileCacheMissCount();<a name="line.344"></a>
 <span class="sourceLineNo">345</span><a name="line.345"></a>
 <span class="sourceLineNo">346</span>  /**<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   * Gets the count of cached mob files.<a name="line.347"></a>
+<span class="sourceLineNo">347</span>   * Gets the number of items evicted from the mob file cache.<a name="line.347"></a>
 <span class="sourceLineNo">348</span>   */<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  long getMobFileCacheCount();<a name="line.349"></a>
+<span class="sourceLineNo">349</span>  long getMobFileCacheEvictedCount();<a name="line.349"></a>
 <span class="sourceLineNo">350</span><a name="line.350"></a>
 <span class="sourceLineNo">351</span>  /**<a name="line.351"></a>
-<span class="sourceLineNo">352</span>   * Gets the hit percent to the mob file cache.<a name="line.352"></a>
+<span class="sourceLineNo">352</span>   * Gets the count of cached mob files.<a name="line.352"></a>
 <span class="sourceLineNo">353</span>   */<a name="line.353"></a>
-<span class="sourceLineNo">354</span>  double getMobFileCacheHitPercent();<a name="line.354"></a>
+<span class="sourceLineNo">354</span>  long getMobFileCacheCount();<a name="line.354"></a>
 <span class="sourceLineNo">355</span><a name="line.355"></a>
 <span class="sourceLineNo">356</span>  /**<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * @return Count of hedged read operations<a name="line.357"></a>
+<span class="sourceLineNo">357</span>   * Gets the hit percent to the mob file cache.<a name="line.357"></a>
 <span class="sourceLineNo">358</span>   */<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  long getHedgedReadOps();<a name="line.359"></a>
+<span class="sourceLineNo">359</span>  double getMobFileCacheHitPercent();<a name="line.359"></a>
 <span class="sourceLineNo">360</span><a name="line.360"></a>
 <span class="sourceLineNo">361</span>  /**<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return Count of times a hedged read beat out the primary read.<a name="line.362"></a>
+<span class="sourceLineNo">362</span>   * @return Count of hedged read operations<a name="line.362"></a>
 <span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  long getHedgedReadWins();<a name="line.364"></a>
+<span class="sourceLineNo">364</span>  long getHedgedReadOps();<a name="line.364"></a>
 <span class="sourceLineNo">365</span><a name="line.365"></a>
 <span class="sourceLineNo">366</span>  /**<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * @return Count of requests blocked because the memstore size is larger than blockingMemStoreSize<a name="line.367"></a>
+<span class="sourceLineNo">367</span>   * @return Count of times a hedged read beat out the primary read.<a name="line.367"></a>
 <span class="sourceLineNo">368</span>   */<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  long getBlockedRequestsCount();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>}<a name="line.370"></a>
+<span class="sourceLineNo">369</span>  long getHedgedReadWins();<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>  /**<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * @return Count of requests blocked because the memstore size is larger than blockingMemStoreSize<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
+<span class="sourceLineNo">374</span>  long getBlockedRequestsCount();<a name="line.374"></a>
+<span class="sourceLineNo">375</span>}<a name="line.375"></a>
 
 
 


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

Posted by mi...@apache.org.
Published site at 6f6a8ed71fe98b83e8a8db974fc15b0d8597b174.


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

Branch: refs/heads/asf-site
Commit: 1b9384b25f04339cec648b99d2a47d4920f64192
Parents: a8725a4
Author: jenkins <bu...@apache.org>
Authored: Fri Feb 5 15:20:58 2016 +0000
Committer: Misty Stanley-Jones <ms...@cloudera.com>
Committed: Fri Feb 5 08:44:41 2016 -0800

----------------------------------------------------------------------
 apache_hbase_reference_guide.pdf                |     4 +-
 apache_hbase_reference_guide.pdfmarks           |     4 +-
 apidocs/index-all.html                          |     4 +
 apidocs/org/apache/hadoop/hbase/RegionLoad.html |    72 +-
 apidocs/org/apache/hadoop/hbase/ServerLoad.html |   143 +-
 .../org/apache/hadoop/hbase/RegionLoad.html     |   207 +-
 .../org/apache/hadoop/hbase/ServerLoad.html     |   552 +-
 book.html                                       |     2 +-
 checkstyle-aggregate.html                       |   800 +-
 devapidocs/constant-values.html                 |    14 +
 devapidocs/index-all.html                       |    34 +-
 .../org/apache/hadoop/hbase/RegionLoad.html     |    72 +-
 .../org/apache/hadoop/hbase/ServerLoad.html     |   192 +-
 .../hbase/classification/package-tree.html      |     8 +-
 .../hadoop/hbase/client/package-tree.html       |     8 +-
 .../hadoop/hbase/filter/package-tree.html       |     6 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     4 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |     4 +-
 .../hbase/master/balancer/package-tree.html     |     2 +-
 .../hadoop/hbase/master/package-tree.html       |     4 +-
 .../hbase/master/procedure/package-tree.html    |     2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |     6 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 +-
 .../hadoop/hbase/quotas/package-tree.html       |     2 +-
 .../HRegion.BatchOperationInProgress.html       |    26 +-
 .../regionserver/HRegion.FlushResultImpl.html   |    24 +-
 .../regionserver/HRegion.MutationBatch.html     |    20 +-
 .../HRegion.PrepareFlushResult.html             |    26 +-
 .../regionserver/HRegion.RegionScannerImpl.html |    92 +-
 .../hbase/regionserver/HRegion.ReplayBatch.html |    18 +-
 .../regionserver/HRegion.RowLockContext.html    |    24 +-
 .../hbase/regionserver/HRegion.RowLockImpl.html |    16 +-
 .../hbase/regionserver/HRegion.WriteState.html  |    26 +-
 .../hadoop/hbase/regionserver/HRegion.html      |  1062 +-
 .../HRegionServer.CompactionChecker.html        |    14 +-
 .../HRegionServer.MovedRegionInfo.html          |    16 +-
 .../HRegionServer.MovedRegionsCleaner.html      |    16 +-
 .../HRegionServer.PeriodicMemstoreFlusher.html  |    12 +-
 .../hbase/regionserver/HRegionServer.html       |   226 +-
 .../regionserver/MetricsRegionServerSource.html |   290 +-
 .../MetricsRegionServerSourceImpl.html          |     2 +-
 .../MetricsRegionServerWrapper.html             |   202 +-
 ...Impl.RegionServerMetricsWrapperRunnable.html |    10 +-
 .../MetricsRegionServerWrapperImpl.html         |   402 +-
 .../regionserver/MetricsRegionSourceImpl.html   |     4 +-
 .../regionserver/MetricsRegionWrapper.html      |    54 +-
 ...apperImpl.HRegionMetricsWrapperRunnable.html |     6 +-
 .../regionserver/MetricsRegionWrapperImpl.html  |    61 +-
 .../regionserver/Region.BulkLoadListener.html   |     8 +-
 .../regionserver/Region.FlushResult.Result.html |    10 +-
 .../hbase/regionserver/Region.FlushResult.html  |     8 +-
 .../hbase/regionserver/Region.Operation.html    |    28 +-
 .../hbase/regionserver/Region.RowLock.html      |     4 +-
 .../hadoop/hbase/regionserver/Region.html       |   198 +-
 .../HRegion.BatchOperationInProgress.html       |     5 +-
 .../hadoop/hbase/regionserver/package-tree.html |    24 +-
 .../hadoop/hbase/regionserver/wal/WALEdit.html  |    64 +-
 .../hadoop/hbase/rest/model/package-tree.html   |     2 +-
 .../hadoop/hbase/security/package-tree.html     |     2 +-
 .../hadoop/hbase/thrift/package-tree.html       |     2 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |   210 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |    84 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    42 +-
 .../tmpl/master/RegionServerListTmplImpl.html   |    12 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |    90 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    36 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    18 +-
 .../tmpl/regionserver/RegionListTmplImpl.html   |     8 +-
 .../regionserver/ServerMetricsTmplImpl.html     |    10 +-
 .../hadoop/hbase/util/class-use/Counter.html    |    12 +-
 .../apache/hadoop/hbase/util/package-tree.html  |     6 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 .../org/apache/hadoop/hbase/RegionLoad.html     |   207 +-
 .../org/apache/hadoop/hbase/ServerLoad.html     |   552 +-
 .../BaseLoadBalancer.Cluster.Action.Type.html   |     2 +-
 .../BaseLoadBalancer.Cluster.Action.html        |     2 +-
 ...LoadBalancer.Cluster.AssignRegionAction.html |     2 +-
 ...seLoadBalancer.Cluster.MoveRegionAction.html |     2 +-
 ...eLoadBalancer.Cluster.SwapRegionsAction.html |     2 +-
 .../balancer/BaseLoadBalancer.Cluster.html      |     2 +-
 .../BaseLoadBalancer.DefaultRackManager.html    |     2 +-
 .../hbase/master/balancer/BaseLoadBalancer.html |     2 +-
 .../HRegion.BatchOperationInProgress.html       | 15684 +++++++++--------
 .../regionserver/HRegion.FlushResultImpl.html   | 15684 +++++++++--------
 .../regionserver/HRegion.MutationBatch.html     | 15684 +++++++++--------
 .../HRegion.PrepareFlushResult.html             | 15684 +++++++++--------
 .../regionserver/HRegion.RegionScannerImpl.html | 15684 +++++++++--------
 .../hbase/regionserver/HRegion.ReplayBatch.html | 15684 +++++++++--------
 .../regionserver/HRegion.RowLockContext.html    | 15684 +++++++++--------
 .../hbase/regionserver/HRegion.RowLockImpl.html | 15684 +++++++++--------
 .../hbase/regionserver/HRegion.WriteState.html  | 15684 +++++++++--------
 .../hadoop/hbase/regionserver/HRegion.html      | 15684 +++++++++--------
 .../HRegionServer.CompactionChecker.html        |  3791 ++--
 .../HRegionServer.MovedRegionInfo.html          |  3791 ++--
 .../HRegionServer.MovedRegionsCleaner.html      |  3791 ++--
 .../HRegionServer.PeriodicMemstoreFlusher.html  |  3791 ++--
 .../hbase/regionserver/HRegionServer.html       |  3791 ++--
 .../regionserver/MetricsRegionServerSource.html |   335 +-
 .../MetricsRegionServerSourceImpl.html          |   232 +-
 .../MetricsRegionServerWrapper.html             |   233 +-
 ...Impl.RegionServerMetricsWrapperRunnable.html |  1369 +-
 .../MetricsRegionServerWrapperImpl.html         |  1369 +-
 .../regionserver/MetricsRegionSourceImpl.html   |    44 +-
 .../regionserver/MetricsRegionWrapper.html      |    35 +-
 ...apperImpl.HRegionMetricsWrapperRunnable.html |    93 +-
 .../regionserver/MetricsRegionWrapperImpl.html  |    93 +-
 .../regionserver/Region.BulkLoadListener.html   |  1001 +-
 .../regionserver/Region.FlushResult.Result.html |  1001 +-
 .../hbase/regionserver/Region.FlushResult.html  |  1001 +-
 .../hbase/regionserver/Region.Operation.html    |  1001 +-
 .../hbase/regionserver/Region.RowLock.html      |  1001 +-
 .../hadoop/hbase/regionserver/Region.html       |  1001 +-
 .../hadoop/hbase/regionserver/wal/WALEdit.html  |   532 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |   210 +-
 .../tmpl/master/MasterStatusTmpl.Intf.html      |   210 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   210 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    56 +-
 .../tmpl/master/RegionServerListTmplImpl.html   |   730 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |    90 +-
 .../tmpl/regionserver/RSStatusTmpl.Intf.html    |    90 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    90 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    24 +-
 .../tmpl/regionserver/RegionListTmplImpl.html   |   486 +-
 .../regionserver/ServerMetricsTmplImpl.html     |   264 +-
 .../hbase/zookeeper/ZooKeeperWatcher.html       |    10 +-
 hbase-annotations/team-list.html                |     4 +-
 hbase-spark/team-list.html                      |     4 +-
 team-list.html                                  |     4 +-
 testdevapidocs/allclasses-frame.html            |     2 +
 testdevapidocs/allclasses-noframe.html          |     2 +
 testdevapidocs/constant-values.html             |    33 +
 testdevapidocs/index-all.html                   |    91 +
 ...cing.BlockCompactionsInCompletionRegion.html |     2 +-
 ...tIOFencing.BlockCompactionsInPrepRegion.html |     2 +-
 .../TestIOFencing.CompactionBlockerRegion.html  |     2 +-
 .../hadoop/hbase/TestRegionRebalancing.html     |     4 +-
 .../hbase/TestRegionServerMetrics.Metric.html   |   347 +
 .../hadoop/hbase/TestRegionServerMetrics.html   |   777 +
 .../apache/hadoop/hbase/TestSerialization.html  |     4 +-
 .../org/apache/hadoop/hbase/TestServerLoad.html |     6 +-
 .../hbase/class-use/HBaseTestingUtility.html    |    40 +-
 .../TestRegionServerMetrics.Metric.html         |   196 +
 .../class-use/TestRegionServerMetrics.html      |   115 +
 ...ook.CompactionCompletionNotifyingRegion.html |     2 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     2 +-
 .../org/apache/hadoop/hbase/package-frame.html  |     2 +
 .../apache/hadoop/hbase/package-summary.html    |    32 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    12 +-
 .../org/apache/hadoop/hbase/package-use.html    |     7 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 +-
 .../MetricsRegionServerWrapperStub.html         |   209 +-
 .../regionserver/MetricsRegionWrapperStub.html  |    55 +-
 .../TestAtomicOperation.MockHRegion.html        |     4 +-
 .../TestHRegion.HRegionWithSeqId.html           |     4 +-
 .../regionserver/TestMetricsRegionServer.html   |     4 +-
 ...tricsRegionSourceImpl.RegionWrapperStub.html |    55 +-
 ...annerHeartbeatMessages.HeartbeatHRegion.html |     4 +-
 .../hadoop/hbase/regionserver/package-tree.html |     4 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 testdevapidocs/overview-tree.html               |     2 +
 .../hbase/TestRegionServerMetrics.Metric.html   |   451 +
 .../hadoop/hbase/TestRegionServerMetrics.html   |   451 +
 .../org/apache/hadoop/hbase/TestServerLoad.html |   102 +-
 .../MetricsRegionServerWrapperStub.html         |   221 +-
 .../regionserver/MetricsRegionWrapperStub.html  |    37 +-
 .../hbase/regionserver/TestMetricsRegion.html   |    52 +-
 .../regionserver/TestMetricsRegionServer.html   |   135 +-
 ...tricsRegionSourceImpl.RegionWrapperStub.html |    35 +-
 .../TestMetricsRegionSourceImpl.html            |    35 +-
 xref-test/allclasses-frame.html                 |     5 +-
 .../hadoop/hbase/TestRegionServerMetrics.html   |   393 +
 .../org/apache/hadoop/hbase/TestServerLoad.html |   102 +-
 .../org/apache/hadoop/hbase/package-frame.html  |     6 +
 .../apache/hadoop/hbase/package-summary.html    |    10 +
 .../MetricsRegionServerWrapperStub.html         |   221 +-
 .../regionserver/MetricsRegionWrapperStub.html  |    37 +-
 .../hbase/regionserver/TestMetricsRegion.html   |    52 +-
 .../regionserver/TestMetricsRegionServer.html   |   135 +-
 .../TestMetricsRegionSourceImpl.html            |    35 +-
 .../regionserver/TestRegionServerMetrics.html   |     2 +-
 xref/org/apache/hadoop/hbase/RegionLoad.html    |   207 +-
 xref/org/apache/hadoop/hbase/ServerLoad.html    |   552 +-
 .../hbase/master/balancer/BaseLoadBalancer.html |     2 +-
 .../hadoop/hbase/regionserver/HRegion.html      | 15684 +++++++++--------
 .../hbase/regionserver/HRegionServer.html       |  3791 ++--
 .../regionserver/MetricsRegionServerSource.html |   335 +-
 .../MetricsRegionServerSourceImpl.html          |   232 +-
 .../MetricsRegionServerWrapper.html             |   233 +-
 .../MetricsRegionServerWrapperImpl.html         |  1369 +-
 .../regionserver/MetricsRegionSourceImpl.html   |    44 +-
 .../regionserver/MetricsRegionWrapper.html      |    35 +-
 .../regionserver/MetricsRegionWrapperImpl.html  |    93 +-
 .../hadoop/hbase/regionserver/Region.html       |  1001 +-
 .../hadoop/hbase/regionserver/wal/WALEdit.html  |   532 +-
 .../hbase/tmpl/common/TaskMonitorTmpl.html      |    60 +-
 .../hbase/tmpl/common/TaskMonitorTmplImpl.html  |    16 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   210 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    56 +-
 .../tmpl/master/RegionServerListTmplImpl.html   |   730 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    90 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    24 +-
 .../tmpl/regionserver/RegionListTmplImpl.html   |   486 +-
 .../regionserver/ServerMetricsTmplImpl.html     |   264 +-
 .../hbase/zookeeper/ZooKeeperWatcher.html       |    10 +-
 204 files changed, 114682 insertions(+), 110991 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 1569dea..10d9d46 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
 /Producer (Apache HBase Team)
-/CreationDate (D:20160205003752+00'00')
-/ModDate (D:20160205003752+00'00')
+/CreationDate (D:20160205151536+00'00')
+/ModDate (D:20160205151536+00'00')
 >>
 endobj
 2 0 obj

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks b/apache_hbase_reference_guide.pdfmarks
index 757bdb8..a3925f5 100644
--- a/apache_hbase_reference_guide.pdfmarks
+++ b/apache_hbase_reference_guide.pdfmarks
@@ -2,8 +2,8 @@
   /Author (Apache HBase Team)
   /Subject ()
   /Keywords ()
-  /ModDate (D:20160205003943)
-  /CreationDate (D:20160205003943)
+  /ModDate (D:20160205151727)
+  /CreationDate (D:20160205151727)
   /Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
   /Producer ()
   /DOCINFO pdfmark

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/apidocs/index-all.html
----------------------------------------------------------------------
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index ed8442e..e9631f8 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -4908,6 +4908,10 @@
 <dd>
 <div class="block">Returns the arguments of the filter from the filter string</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/RegionLoad.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ServerLoad.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/ServerLoad.html" title="class in org.apache.hadoop.hbase">ServerLoad</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getFilterIfMissing()">getFilterIfMissing()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a></dt>
 <dd>
 <div class="block">Get whether entire row should be filtered if column is not found.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/apidocs/org/apache/hadoop/hbase/RegionLoad.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/RegionLoad.html b/apidocs/org/apache/hadoop/hbase/RegionLoad.html
index c1d7e9d..1f75cfc 100644
--- a/apidocs/org/apache/hadoop/hbase/RegionLoad.html
+++ b/apidocs/org/apache/hadoop/hbase/RegionLoad.html
@@ -170,73 +170,77 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getLastMajorCompactionTs()">getLastMajorCompactionTs</a></strong>()</code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getLastMajorCompactionTs()">getLastMajorCompactionTs</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getMemStoreSizeMB()">getMemStoreSizeMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getName()">getName</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getNameAsString()">getNameAsString</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getReadRequestsCount()">getReadRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getRequestsCount()">getRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getRootIndexSizeKB()">getRootIndexSizeKB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getStoreCompleteSequenceId()">getStoreCompleteSequenceId</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getStorefileIndexSizeMB()">getStorefileIndexSizeMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getStorefiles()">getStorefiles</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getStorefileSizeMB()">getStorefileSizeMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getStores()">getStores</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getStoreUncompressedSizeMB()">getStoreUncompressedSizeMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getTotalCompactingKVs()">getTotalCompactingKVs</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getTotalStaticBloomSizeKB()">getTotalStaticBloomSizeKB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getTotalStaticIndexSizeKB()">getTotalStaticIndexSizeKB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getWriteRequestsCount()">getWriteRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#toString()">toString</a></strong>()</code>&nbsp;</td>
 </tr>
@@ -386,13 +390,23 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of read requests made to region</dd></dl>
 </li>
 </ul>
+<a name="getFilteredReadRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFilteredReadRequestsCount</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.111">getFilteredReadRequestsCount</a>()</pre>
+<dl><dt><span class="strong">Returns:</span></dt><dd>the number of filtered read requests made to region</dd></dl>
+</li>
+</ul>
 <a name="getWriteRequestsCount()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteRequestsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.111">getWriteRequestsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.118">getWriteRequestsCount</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of write requests made to region</dd></dl>
 </li>
 </ul>
@@ -402,7 +416,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRootIndexSizeKB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.118">getRootIndexSizeKB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.125">getRootIndexSizeKB</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The current total size of root-level indexes for the region, in KB.</dd></dl>
 </li>
 </ul>
@@ -412,7 +426,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalStaticIndexSizeKB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.125">getTotalStaticIndexSizeKB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.132">getTotalStaticIndexSizeKB</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The total size of all index blocks, not just the root level, in KB.</dd></dl>
 </li>
 </ul>
@@ -422,7 +436,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalStaticBloomSizeKB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.133">getTotalStaticBloomSizeKB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.140">getTotalStaticBloomSizeKB</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The total size of all Bloom filter blocks, not just loaded into the
  block cache, in KB.</dd></dl>
 </li>
@@ -433,7 +447,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalCompactingKVs</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.140">getTotalCompactingKVs</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.147">getTotalCompactingKVs</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the total number of kvs in current compaction</dd></dl>
 </li>
 </ul>
@@ -443,7 +457,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentCompactedKVs</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.147">getCurrentCompactedKVs</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.154">getCurrentCompactedKVs</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of already compacted kvs in current compaction</dd></dl>
 </li>
 </ul>
@@ -453,7 +467,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompleteSequenceId</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.155">getCompleteSequenceId</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.162">getCompleteSequenceId</a>()</pre>
 <div class="block">This does not really belong inside RegionLoad but its being done in the name of expediency.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the completed sequence Id for the region</dd></dl>
 </li>
@@ -464,7 +478,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreCompleteSequenceId</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.162">getStoreCompleteSequenceId</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.169">getStoreCompleteSequenceId</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>completed sequence id per store.</dd></dl>
 </li>
 </ul>
@@ -474,7 +488,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreUncompressedSizeMB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.169">getStoreUncompressedSizeMB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.176">getStoreUncompressedSizeMB</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the uncompressed size of the storefiles in MB.</dd></dl>
 </li>
 </ul>
@@ -484,7 +498,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getDataLocality</h4>
-<pre>public&nbsp;float&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.176">getDataLocality</a>()</pre>
+<pre>public&nbsp;float&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.183">getDataLocality</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the data locality of region in the regionserver.</dd></dl>
 </li>
 </ul>
@@ -494,7 +508,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastMajorCompactionTs</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.186">getLastMajorCompactionTs</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.193">getLastMajorCompactionTs</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the timestamp of the oldest hfile for any store of this region.</dd></dl>
 </li>
 </ul>
@@ -504,7 +518,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.194">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.201">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/apidocs/org/apache/hadoop/hbase/ServerLoad.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/ServerLoad.html b/apidocs/org/apache/hadoop/hbase/ServerLoad.html
index 35562f0..233a1be 100644
--- a/apidocs/org/apache/hadoop/hbase/ServerLoad.html
+++ b/apidocs/org/apache/hadoop/hbase/ServerLoad.html
@@ -163,137 +163,141 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getCurrentCompactedKVs()">getCurrentCompactedKVs</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getInfoServerPort()">getInfoServerPort</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getLoad()">getLoad</a></strong>()</code>
 <div class="block">Originally, this method factored in the effect of requests going to the
  server as well.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getMaxHeapMB()">getMaxHeapMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getMemstoreSizeInMB()">getMemstoreSizeInMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getNumberOfRegions()">getNumberOfRegions</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getNumberOfRequests()">getNumberOfRequests</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getReadRequestsCount()">getReadRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getRegionServerCoprocessors()">getRegionServerCoprocessors</a></strong>()</code>
 <div class="block">Return the RegionServer-level coprocessors</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getRegionsLoad()">getRegionsLoad</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.replication.ReplicationLoadSink</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getReplicationLoadSink()">getReplicationLoadSink</a></strong>()</code>
 <div class="block">Call directly from client such as hbase shell</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.replication.ReplicationLoadSource&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getReplicationLoadSourceList()">getReplicationLoadSourceList</a></strong>()</code>
 <div class="block">Call directly from client such as hbase shell</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getRequestsPerSecond()">getRequestsPerSecond</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getRootIndexSizeKB()">getRootIndexSizeKB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getRsCoprocessors()">getRsCoprocessors</a></strong>()</code>
 <div class="block">Return the RegionServer-level and Region-level coprocessors</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getStorefileIndexSizeInMB()">getStorefileIndexSizeInMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getStorefiles()">getStorefiles</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getStorefileSizeInMB()">getStorefileSizeInMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getStores()">getStores</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getStoreUncompressedSizeMB()">getStoreUncompressedSizeMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getTotalCompactingKVs()">getTotalCompactingKVs</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getTotalNumberOfRequests()">getTotalNumberOfRequests</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getTotalStaticBloomSizeKB()">getTotalStaticBloomSizeKB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getTotalStaticIndexSizeKB()">getTotalStaticIndexSizeKB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getUsedHeapMB()">getUsedHeapMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getWriteRequestsCount()">getWriteRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#hasMaxHeapMB()">hasMaxHeapMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#hasNumberOfRequests()">hasNumberOfRequests</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#hasTotalNumberOfRequests()">hasTotalNumberOfRequests</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#hasUsedHeapMB()">hasUsedHeapMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#obtainServerLoadPB()">obtainServerLoadPB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#toString()">toString</a></strong>()</code>&nbsp;</td>
 </tr>
@@ -325,7 +329,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>serverLoad</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.86">serverLoad</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.88">serverLoad</a></pre>
 </li>
 </ul>
 <a name="EMPTY_SERVERLOAD">
@@ -334,7 +338,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>EMPTY_SERVERLOAD</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/ServerLoad.html" title="class in org.apache.hadoop.hbase">ServerLoad</a> <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.324">EMPTY_SERVERLOAD</a></pre>
+<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/ServerLoad.html" title="class in org.apache.hadoop.hbase">ServerLoad</a> <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.332">EMPTY_SERVERLOAD</a></pre>
 </li>
 </ul>
 </li>
@@ -351,7 +355,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ServerLoad</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.59">ServerLoad</a>(org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad&nbsp;serverLoad)</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.60">ServerLoad</a>(org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad&nbsp;serverLoad)</pre>
 </li>
 </ul>
 </li>
@@ -368,7 +372,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>obtainServerLoadPB</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.82">obtainServerLoadPB</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.84">obtainServerLoadPB</a>()</pre>
 </li>
 </ul>
 <a name="getNumberOfRequests()">
@@ -377,7 +381,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumberOfRequests</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.89">getNumberOfRequests</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.91">getNumberOfRequests</a>()</pre>
 </li>
 </ul>
 <a name="hasNumberOfRequests()">
@@ -386,7 +390,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hasNumberOfRequests</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.92">hasNumberOfRequests</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.94">hasNumberOfRequests</a>()</pre>
 </li>
 </ul>
 <a name="getTotalNumberOfRequests()">
@@ -395,7 +399,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalNumberOfRequests</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.97">getTotalNumberOfRequests</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.99">getTotalNumberOfRequests</a>()</pre>
 </li>
 </ul>
 <a name="hasTotalNumberOfRequests()">
@@ -404,7 +408,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hasTotalNumberOfRequests</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.100">hasTotalNumberOfRequests</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.102">hasTotalNumberOfRequests</a>()</pre>
 </li>
 </ul>
 <a name="getUsedHeapMB()">
@@ -413,7 +417,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getUsedHeapMB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.105">getUsedHeapMB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.107">getUsedHeapMB</a>()</pre>
 </li>
 </ul>
 <a name="hasUsedHeapMB()">
@@ -422,7 +426,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hasUsedHeapMB</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.108">hasUsedHeapMB</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.110">hasUsedHeapMB</a>()</pre>
 </li>
 </ul>
 <a name="getMaxHeapMB()">
@@ -431,7 +435,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxHeapMB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.113">getMaxHeapMB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.115">getMaxHeapMB</a>()</pre>
 </li>
 </ul>
 <a name="hasMaxHeapMB()">
@@ -440,7 +444,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hasMaxHeapMB</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.116">hasMaxHeapMB</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.118">hasMaxHeapMB</a>()</pre>
 </li>
 </ul>
 <a name="getStores()">
@@ -449,7 +453,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStores</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.120">getStores</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.122">getStores</a>()</pre>
 </li>
 </ul>
 <a name="getStorefiles()">
@@ -458,7 +462,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStorefiles</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.124">getStorefiles</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.126">getStorefiles</a>()</pre>
 </li>
 </ul>
 <a name="getStoreUncompressedSizeMB()">
@@ -467,7 +471,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreUncompressedSizeMB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.128">getStoreUncompressedSizeMB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.130">getStoreUncompressedSizeMB</a>()</pre>
 </li>
 </ul>
 <a name="getStorefileSizeInMB()">
@@ -476,7 +480,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStorefileSizeInMB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.132">getStorefileSizeInMB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.134">getStorefileSizeInMB</a>()</pre>
 </li>
 </ul>
 <a name="getMemstoreSizeInMB()">
@@ -485,7 +489,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMemstoreSizeInMB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.136">getMemstoreSizeInMB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.138">getMemstoreSizeInMB</a>()</pre>
 </li>
 </ul>
 <a name="getStorefileIndexSizeInMB()">
@@ -494,7 +498,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStorefileIndexSizeInMB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.140">getStorefileIndexSizeInMB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.142">getStorefileIndexSizeInMB</a>()</pre>
 </li>
 </ul>
 <a name="getReadRequestsCount()">
@@ -503,7 +507,16 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getReadRequestsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.144">getReadRequestsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.146">getReadRequestsCount</a>()</pre>
+</li>
+</ul>
+<a name="getFilteredReadRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFilteredReadRequestsCount</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.150">getFilteredReadRequestsCount</a>()</pre>
 </li>
 </ul>
 <a name="getWriteRequestsCount()">
@@ -512,7 +525,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteRequestsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.148">getWriteRequestsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.154">getWriteRequestsCount</a>()</pre>
 </li>
 </ul>
 <a name="getRootIndexSizeKB()">
@@ -521,7 +534,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRootIndexSizeKB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.152">getRootIndexSizeKB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.158">getRootIndexSizeKB</a>()</pre>
 </li>
 </ul>
 <a name="getTotalStaticIndexSizeKB()">
@@ -530,7 +543,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalStaticIndexSizeKB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.156">getTotalStaticIndexSizeKB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.162">getTotalStaticIndexSizeKB</a>()</pre>
 </li>
 </ul>
 <a name="getTotalStaticBloomSizeKB()">
@@ -539,7 +552,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalStaticBloomSizeKB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.160">getTotalStaticBloomSizeKB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.166">getTotalStaticBloomSizeKB</a>()</pre>
 </li>
 </ul>
 <a name="getTotalCompactingKVs()">
@@ -548,7 +561,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalCompactingKVs</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.164">getTotalCompactingKVs</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.170">getTotalCompactingKVs</a>()</pre>
 </li>
 </ul>
 <a name="getCurrentCompactedKVs()">
@@ -557,7 +570,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentCompactedKVs</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.168">getCurrentCompactedKVs</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.174">getCurrentCompactedKVs</a>()</pre>
 </li>
 </ul>
 <a name="getNumberOfRegions()">
@@ -566,7 +579,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumberOfRegions</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.175">getNumberOfRegions</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.181">getNumberOfRegions</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of regions</dd></dl>
 </li>
 </ul>
@@ -576,7 +589,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getInfoServerPort</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.179">getInfoServerPort</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.185">getInfoServerPort</a>()</pre>
 </li>
 </ul>
 <a name="getReplicationLoadSourceList()">
@@ -585,7 +598,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationLoadSourceList</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.replication.ReplicationLoadSource&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.187">getReplicationLoadSourceList</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.replication.ReplicationLoadSource&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.193">getReplicationLoadSourceList</a>()</pre>
 <div class="block">Call directly from client such as hbase shell</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the list of ReplicationLoadSource</dd></dl>
 </li>
@@ -596,7 +609,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationLoadSink</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.replication.ReplicationLoadSink&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.195">getReplicationLoadSink</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.replication.ReplicationLoadSink&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.201">getReplicationLoadSink</a>()</pre>
 <div class="block">Call directly from client such as hbase shell</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>ReplicationLoadSink</dd></dl>
 </li>
@@ -607,7 +620,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoad</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.212">getLoad</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.218">getLoad</a>()</pre>
 <div class="block">Originally, this method factored in the effect of requests going to the
  server as well. However, this does not interact very well with the current
  region rebalancing code, which only factors number of regions. For the
@@ -622,7 +635,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionsLoad</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.223">getRegionsLoad</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.229">getRegionsLoad</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>region load metrics</dd></dl>
 </li>
 </ul>
@@ -632,7 +645,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerCoprocessors</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.237">getRegionServerCoprocessors</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.243">getRegionServerCoprocessors</a>()</pre>
 <div class="block">Return the RegionServer-level coprocessors</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>string array of loaded RegionServer-level coprocessors</dd></dl>
 </li>
@@ -643,7 +656,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRsCoprocessors</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.253">getRsCoprocessors</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.259">getRsCoprocessors</a>()</pre>
 <div class="block">Return the RegionServer-level and Region-level coprocessors</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>string array of loaded RegionServer-level and
          Region-level coprocessors</dd></dl>
@@ -655,7 +668,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRequestsPerSecond</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.266">getRequestsPerSecond</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.272">getRequestsPerSecond</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>number of requests per second received since the last report</dd></dl>
 </li>
 </ul>
@@ -665,7 +678,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.274">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.280">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/apidocs/src-html/org/apache/hadoop/hbase/RegionLoad.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/RegionLoad.html b/apidocs/src-html/org/apache/hadoop/hbase/RegionLoad.html
index 4b82405..9dea220 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/RegionLoad.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/RegionLoad.html
@@ -114,139 +114,146 @@
 <span class="sourceLineNo">106</span>  }<a name="line.106"></a>
 <span class="sourceLineNo">107</span><a name="line.107"></a>
 <span class="sourceLineNo">108</span>  /**<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * @return the number of write requests made to region<a name="line.109"></a>
+<span class="sourceLineNo">109</span>   * @return the number of filtered read requests made to region<a name="line.109"></a>
 <span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  public long getWriteRequestsCount() {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    return regionLoadPB.getWriteRequestsCount();<a name="line.112"></a>
+<span class="sourceLineNo">111</span>  public long getFilteredReadRequestsCount() {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    return regionLoadPB.getFilteredReadRequestsCount();<a name="line.112"></a>
 <span class="sourceLineNo">113</span>  }<a name="line.113"></a>
 <span class="sourceLineNo">114</span><a name="line.114"></a>
 <span class="sourceLineNo">115</span>  /**<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * @return The current total size of root-level indexes for the region, in KB.<a name="line.116"></a>
+<span class="sourceLineNo">116</span>   * @return the number of write requests made to region<a name="line.116"></a>
 <span class="sourceLineNo">117</span>   */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  public int getRootIndexSizeKB() {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    return regionLoadPB.getRootIndexSizeKB();<a name="line.119"></a>
+<span class="sourceLineNo">118</span>  public long getWriteRequestsCount() {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return regionLoadPB.getWriteRequestsCount();<a name="line.119"></a>
 <span class="sourceLineNo">120</span>  }<a name="line.120"></a>
 <span class="sourceLineNo">121</span><a name="line.121"></a>
 <span class="sourceLineNo">122</span>  /**<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * @return The total size of all index blocks, not just the root level, in KB.<a name="line.123"></a>
+<span class="sourceLineNo">123</span>   * @return The current total size of root-level indexes for the region, in KB.<a name="line.123"></a>
 <span class="sourceLineNo">124</span>   */<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public int getTotalStaticIndexSizeKB() {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    return regionLoadPB.getTotalStaticIndexSizeKB();<a name="line.126"></a>
+<span class="sourceLineNo">125</span>  public int getRootIndexSizeKB() {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return regionLoadPB.getRootIndexSizeKB();<a name="line.126"></a>
 <span class="sourceLineNo">127</span>  }<a name="line.127"></a>
 <span class="sourceLineNo">128</span><a name="line.128"></a>
 <span class="sourceLineNo">129</span>  /**<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   * @return The total size of all Bloom filter blocks, not just loaded into the<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * block cache, in KB.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   */<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  public int getTotalStaticBloomSizeKB() {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    return regionLoadPB.getTotalStaticBloomSizeKB();<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  /**<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * @return the total number of kvs in current compaction<a name="line.138"></a>
+<span class="sourceLineNo">130</span>   * @return The total size of all index blocks, not just the root level, in KB.<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   */<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public int getTotalStaticIndexSizeKB() {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    return regionLoadPB.getTotalStaticIndexSizeKB();<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>  /**<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * @return The total size of all Bloom filter blocks, not just loaded into the<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * block cache, in KB.<a name="line.138"></a>
 <span class="sourceLineNo">139</span>   */<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  public long getTotalCompactingKVs() {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    return regionLoadPB.getTotalCompactingKVs();<a name="line.141"></a>
+<span class="sourceLineNo">140</span>  public int getTotalStaticBloomSizeKB() {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    return regionLoadPB.getTotalStaticBloomSizeKB();<a name="line.141"></a>
 <span class="sourceLineNo">142</span>  }<a name="line.142"></a>
 <span class="sourceLineNo">143</span><a name="line.143"></a>
 <span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * @return the number of already compacted kvs in current compaction<a name="line.145"></a>
+<span class="sourceLineNo">145</span>   * @return the total number of kvs in current compaction<a name="line.145"></a>
 <span class="sourceLineNo">146</span>   */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  public long getCurrentCompactedKVs() {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    return regionLoadPB.getCurrentCompactedKVs();<a name="line.148"></a>
+<span class="sourceLineNo">147</span>  public long getTotalCompactingKVs() {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    return regionLoadPB.getTotalCompactingKVs();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span><a name="line.150"></a>
 <span class="sourceLineNo">151</span>  /**<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * This does not really belong inside RegionLoad but its being done in the name of expediency.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @return the completed sequence Id for the region<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  public long getCompleteSequenceId() {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    return regionLoadPB.getCompleteSequenceId();<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  /**<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * @return completed sequence id per store.<a name="line.160"></a>
+<span class="sourceLineNo">152</span>   * @return the number of already compacted kvs in current compaction<a name="line.152"></a>
+<span class="sourceLineNo">153</span>   */<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  public long getCurrentCompactedKVs() {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    return regionLoadPB.getCurrentCompactedKVs();<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * This does not really belong inside RegionLoad but its being done in the name of expediency.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * @return the completed sequence Id for the region<a name="line.160"></a>
 <span class="sourceLineNo">161</span>   */<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public List&lt;StoreSequenceId&gt; getStoreCompleteSequenceId() {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    return regionLoadPB.getStoreCompleteSequenceIdList();<a name="line.163"></a>
+<span class="sourceLineNo">162</span>  public long getCompleteSequenceId() {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return regionLoadPB.getCompleteSequenceId();<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  }<a name="line.164"></a>
 <span class="sourceLineNo">165</span><a name="line.165"></a>
 <span class="sourceLineNo">166</span>  /**<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * @return the uncompressed size of the storefiles in MB.<a name="line.167"></a>
+<span class="sourceLineNo">167</span>   * @return completed sequence id per store.<a name="line.167"></a>
 <span class="sourceLineNo">168</span>   */<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  public int getStoreUncompressedSizeMB() {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    return regionLoadPB.getStoreUncompressedSizeMB();<a name="line.170"></a>
+<span class="sourceLineNo">169</span>  public List&lt;StoreSequenceId&gt; getStoreCompleteSequenceId() {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    return regionLoadPB.getStoreCompleteSequenceIdList();<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  }<a name="line.171"></a>
 <span class="sourceLineNo">172</span><a name="line.172"></a>
 <span class="sourceLineNo">173</span>  /**<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * @return the data locality of region in the regionserver.<a name="line.174"></a>
+<span class="sourceLineNo">174</span>   * @return the uncompressed size of the storefiles in MB.<a name="line.174"></a>
 <span class="sourceLineNo">175</span>   */<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  public float getDataLocality() {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    if (regionLoadPB.hasDataLocality()) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return regionLoadPB.getDataLocality();<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return 0.0f;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  /**<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   * @return the timestamp of the oldest hfile for any store of this region.<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   */<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  public long getLastMajorCompactionTs() {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    return regionLoadPB.getLastMajorCompactionTs();<a name="line.187"></a>
+<span class="sourceLineNo">176</span>  public int getStoreUncompressedSizeMB() {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    return regionLoadPB.getStoreUncompressedSizeMB();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
+<span class="sourceLineNo">179</span><a name="line.179"></a>
+<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * @return the data locality of region in the regionserver.<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   */<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  public float getDataLocality() {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    if (regionLoadPB.hasDataLocality()) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      return regionLoadPB.getDataLocality();<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    }<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    return 0.0f;<a name="line.187"></a>
 <span class="sourceLineNo">188</span>  }<a name="line.188"></a>
 <span class="sourceLineNo">189</span><a name="line.189"></a>
 <span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
-<span class="sourceLineNo">191</span>   * @see java.lang.Object#toString()<a name="line.191"></a>
+<span class="sourceLineNo">191</span>   * @return the timestamp of the oldest hfile for any store of this region.<a name="line.191"></a>
 <span class="sourceLineNo">192</span>   */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  @Override<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  public String toString() {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    StringBuilder sb = Strings.appendKeyValue(new StringBuilder(), "numberOfStores",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        this.getStores());<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    sb = Strings.appendKeyValue(sb, "numberOfStorefiles",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        this.getStorefiles());<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    sb = Strings.appendKeyValue(sb, "storefileUncompressedSizeMB",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      this.getStoreUncompressedSizeMB());<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    sb = Strings.appendKeyValue(sb, "lastMajorCompactionTimestamp",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      this.getLastMajorCompactionTs());<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    sb = Strings.appendKeyValue(sb, "storefileSizeMB",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        this.getStorefileSizeMB());<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    if (this.getStoreUncompressedSizeMB() != 0) {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      sb = Strings.appendKeyValue(sb, "compressionRatio",<a name="line.206"></a>
-<span class="sourceLineNo">207</span>          String.format("%.4f", (float) this.getStorefileSizeMB() /<a name="line.207"></a>
-<span class="sourceLineNo">208</span>              (float) this.getStoreUncompressedSizeMB()));<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    }<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    sb = Strings.appendKeyValue(sb, "memstoreSizeMB",<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        this.getMemStoreSizeMB());<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    sb = Strings.appendKeyValue(sb, "storefileIndexSizeMB",<a name="line.212"></a>
-<span class="sourceLineNo">213</span>        this.getStorefileIndexSizeMB());<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    sb = Strings.appendKeyValue(sb, "readRequestsCount",<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        this.getReadRequestsCount());<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    sb = Strings.appendKeyValue(sb, "writeRequestsCount",<a name="line.216"></a>
-<span class="sourceLineNo">217</span>        this.getWriteRequestsCount());<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    sb = Strings.appendKeyValue(sb, "rootIndexSizeKB",<a name="line.218"></a>
-<span class="sourceLineNo">219</span>        this.getRootIndexSizeKB());<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    sb = Strings.appendKeyValue(sb, "totalStaticIndexSizeKB",<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        this.getTotalStaticIndexSizeKB());<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    sb = Strings.appendKeyValue(sb, "totalStaticBloomSizeKB",<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        this.getTotalStaticBloomSizeKB());<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    sb = Strings.appendKeyValue(sb, "totalCompactingKVs",<a name="line.224"></a>
-<span class="sourceLineNo">225</span>        this.getTotalCompactingKVs());<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    sb = Strings.appendKeyValue(sb, "currentCompactedKVs",<a name="line.226"></a>
-<span class="sourceLineNo">227</span>        this.getCurrentCompactedKVs());<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    float compactionProgressPct = Float.NaN;<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    if (this.getTotalCompactingKVs() &gt; 0) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      compactionProgressPct = ((float) this.getCurrentCompactedKVs() /<a name="line.230"></a>
-<span class="sourceLineNo">231</span>          (float) this.getTotalCompactingKVs());<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    sb = Strings.appendKeyValue(sb, "compactionProgressPct",<a name="line.233"></a>
-<span class="sourceLineNo">234</span>        compactionProgressPct);<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    sb = Strings.appendKeyValue(sb, "completeSequenceId",<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        this.getCompleteSequenceId());<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    sb = Strings.appendKeyValue(sb, "dataLocality",<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        this.getDataLocality());<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    return sb.toString();<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>}<a name="line.241"></a>
+<span class="sourceLineNo">193</span>  public long getLastMajorCompactionTs() {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    return regionLoadPB.getLastMajorCompactionTs();<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  }<a name="line.195"></a>
+<span class="sourceLineNo">196</span><a name="line.196"></a>
+<span class="sourceLineNo">197</span>  /**<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * @see java.lang.Object#toString()<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   */<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  @Override<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  public String toString() {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    StringBuilder sb = Strings.appendKeyValue(new StringBuilder(), "numberOfStores",<a name="line.202"></a>
+<span class="sourceLineNo">203</span>        this.getStores());<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    sb = Strings.appendKeyValue(sb, "numberOfStorefiles",<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        this.getStorefiles());<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    sb = Strings.appendKeyValue(sb, "storefileUncompressedSizeMB",<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      this.getStoreUncompressedSizeMB());<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    sb = Strings.appendKeyValue(sb, "lastMajorCompactionTimestamp",<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      this.getLastMajorCompactionTs());<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    sb = Strings.appendKeyValue(sb, "storefileSizeMB",<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        this.getStorefileSizeMB());<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    if (this.getStoreUncompressedSizeMB() != 0) {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      sb = Strings.appendKeyValue(sb, "compressionRatio",<a name="line.213"></a>
+<span class="sourceLineNo">214</span>          String.format("%.4f", (float) this.getStorefileSizeMB() /<a name="line.214"></a>
+<span class="sourceLineNo">215</span>              (float) this.getStoreUncompressedSizeMB()));<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    sb = Strings.appendKeyValue(sb, "memstoreSizeMB",<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        this.getMemStoreSizeMB());<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    sb = Strings.appendKeyValue(sb, "storefileIndexSizeMB",<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        this.getStorefileIndexSizeMB());<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    sb = Strings.appendKeyValue(sb, "readRequestsCount",<a name="line.221"></a>
+<span class="sourceLineNo">222</span>        this.getReadRequestsCount());<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    sb = Strings.appendKeyValue(sb, "writeRequestsCount",<a name="line.223"></a>
+<span class="sourceLineNo">224</span>        this.getWriteRequestsCount());<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    sb = Strings.appendKeyValue(sb, "rootIndexSizeKB",<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        this.getRootIndexSizeKB());<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    sb = Strings.appendKeyValue(sb, "totalStaticIndexSizeKB",<a name="line.227"></a>
+<span class="sourceLineNo">228</span>        this.getTotalStaticIndexSizeKB());<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    sb = Strings.appendKeyValue(sb, "totalStaticBloomSizeKB",<a name="line.229"></a>
+<span class="sourceLineNo">230</span>        this.getTotalStaticBloomSizeKB());<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    sb = Strings.appendKeyValue(sb, "totalCompactingKVs",<a name="line.231"></a>
+<span class="sourceLineNo">232</span>        this.getTotalCompactingKVs());<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    sb = Strings.appendKeyValue(sb, "currentCompactedKVs",<a name="line.233"></a>
+<span class="sourceLineNo">234</span>        this.getCurrentCompactedKVs());<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    float compactionProgressPct = Float.NaN;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    if (this.getTotalCompactingKVs() &gt; 0) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      compactionProgressPct = ((float) this.getCurrentCompactedKVs() /<a name="line.237"></a>
+<span class="sourceLineNo">238</span>          (float) this.getTotalCompactingKVs());<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    sb = Strings.appendKeyValue(sb, "compactionProgressPct",<a name="line.240"></a>
+<span class="sourceLineNo">241</span>        compactionProgressPct);<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    sb = Strings.appendKeyValue(sb, "completeSequenceId",<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        this.getCompleteSequenceId());<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    sb = Strings.appendKeyValue(sb, "dataLocality",<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        this.getDataLocality());<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    return sb.toString();<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  }<a name="line.247"></a>
+<span class="sourceLineNo">248</span>}<a name="line.248"></a>
 
 
 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
index d03724e..658fe8f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
@@ -292,7951 +292,7969 @@
 <span class="sourceLineNo">284</span><a name="line.284"></a>
 <span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter writeRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  // Number of requests blocked by memstore size.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  // Compaction counters<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>  private final WAL wal;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final HRegionFileSystem fs;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  protected final Configuration conf;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  private final Configuration baseConf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final int rowLockWaitDuration;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  // The internal wait duration to acquire a lock before read/update<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // we can release the IPC handler soon enough to improve the<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // availability of the region server. It can be adjusted by<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  final long busyWaitDuration;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>  // If updating multiple rows in one call, wait longer,<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // we can limit the max multiplier.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  final int maxBusyWaitMultiplier;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  final long maxBusyWaitDuration;<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  // negative number indicates infinite timeout<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * The sequence ID that was encountered when this region was opened.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * scan requests to this region. Requests can override it.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  //<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // are equal to or lower than maxSeqId for each store.<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // The following map is populated when opening the region<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>  /** Saved state from replaying prepare flush cache */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  /**<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   */<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private boolean disallowWritesInRecovering = false;<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  private volatile boolean recovering = false;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>  /**<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * region. Writes older than this readPoint, are included in every<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * read operation.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  public long getSmallestReadPoint() {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    long minimumReadPoint;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    synchronized(scannerReadPoints) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          minimumReadPoint = readPoint;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return minimumReadPoint;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  /*<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * Data structure of write state flags used coordinating flushes,<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * compactions and closes.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  static class WriteState {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // Set while a memstore flush is happening.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    volatile boolean flushing = false;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // Set when a flush has been requested.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    volatile boolean flushRequested = false;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // Number of compactions running.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    volatile boolean writesEnabled = true;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // Set if region is read-only<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    volatile boolean readOnly = false;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    volatile boolean readsEnabled = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>    /**<a name="line.405"></a>
-<span class="sourceLineNo">406</span>     * Set flags that make this region read-only.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     *<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     * @param onOff flip value for region r/o setting<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.writesEnabled = !onOff;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.readOnly = onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>    boolean isReadOnly() {<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return this.flushRequested;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      this.readsEnabled = readsEnabled;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  /**<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * if it didn't flush.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public static class FlushResultImpl implements FlushResult {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    final Result result;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final String failureReason;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final long flushSequenceId;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final boolean wroteFlushWalMarker;<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    /**<a name="line.443"></a>
-<span class="sourceLineNo">444</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * null.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     *                        memstores.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     */<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      this(result, flushSequenceId, null, false);<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>     * Convenience constructor to use when we cannot flush.<a name="line.457"></a>
-<span class="sourceLineNo">458</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>     * @param failureReason Reason why we couldn't flush.<a name="line.459"></a>
-<span class="sourceLineNo">460</span>     */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>    /**<a name="line.466"></a>
-<span class="sourceLineNo">467</span>     * Constructor with all the parameters.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @param result Any of the Result.<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>     */<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      boolean wroteFlushMarker) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      this.result = result;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      this.flushSequenceId = flushSequenceId;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      this.failureReason = failureReason;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      this.wroteFlushWalMarker = wroteFlushMarker;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>    /**<a name="line.480"></a>
-<span class="sourceLineNo">481</span>     * Convenience method, the equivalent of checking if result is<a name="line.481"></a>
-<span class="sourceLineNo">482</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>     * @return true if the memstores were flushed, else false.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>     */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public boolean isFlushSucceeded() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.487"></a>
-<span class="sourceLineNo">488</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>    /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<a name="line.493"></a>
-<span class="sourceLineNo">494</span>     */<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    @Override<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    public boolean isCompactionNeeded() {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    }<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    @Override<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    public String toString() {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      return new StringBuilder()<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        .append("flush result:").append(result).append(", ")<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        .append("flush seq id").append(flushSequenceId).toString();<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    @Override<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    public Result getResult() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      return result;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  }<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span>  /** A result object from prepare flush cache stage */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static class PrepareFlushResult {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    final FlushResult result; // indicating a failure result from prepare<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    final TreeMap&lt;byte[], Long&gt; storeFlushableSize;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    final long startTime;<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    final long flushOpSeqId;<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    final long flushedSeqId;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    final long totalFlushableSize;<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    /** Constructs an early exit case */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    PrepareFlushResult(FlushResult result, long flushSeqId) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, 0);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>    /** Constructs a successful prepare flush result */<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    PrepareFlushResult(<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        flushSeqId, flushedSeqId, totalFlushableSize);<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    }<a name="line.539"></a>
-<span class="sourceLineNo">540</span><a name="line.540"></a>
-<span class="sourceLineNo">541</span>    private PrepareFlushResult(<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      FlushResult result,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      this.result = result;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      this.committedFiles = committedFiles;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      this.startTime = startTime;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      this.flushOpSeqId = flushSeqId;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      this.flushedSeqId = flushedSeqId;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      this.totalFlushableSize = totalFlushableSize;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    }<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    public FlushResult getResult() {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      return this.result;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  final WriteState writestate = new WriteState();<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  long memstoreFlushSize;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  final long timestampSlop;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  final long rowProcessorTimeout;<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  private final ConcurrentMap&lt;Store, Long&gt; lastStoreFlushTimeMap =<a name="line.569"></a>
-<span class="sourceLineNo">570</span>      new ConcurrentHashMap&lt;Store, Long&gt;();<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>  final RegionServerServices rsServices;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private RegionServerAccounting rsAccounting;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  private long flushCheckInterval;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.575"></a>
-<span class="sourceLineNo">576</span>  private long flushPerChanges;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  private long blockingMemStoreSize;<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  final long threadWakeFrequency;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  // Used to guard closes<a name="line.579"></a>
-<span class="sourceLineNo">580</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span>  // Stop updates lock<a name="line.582"></a>
-<span class="sourceLineNo">583</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.583"></a>
-<span class="sourceLineNo">584</span>  private boolean splitRequest;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>  private byte[] explicitSplitPoint = null;<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  // Coprocessor host<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.590"></a>
-<span class="sourceLineNo">591</span><a name="line.591"></a>
-<span class="sourceLineNo">592</span>  private HTableDescriptor htableDescriptor = null;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>  private RegionSplitPolicy splitPolicy;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  private FlushPolicy flushPolicy;<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>  private final MetricsRegion metricsRegion;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>  private final Durability durability;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  private final boolean regionStatsEnabled;<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>  /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   *<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * usually the table directory.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * The wal file is a logfile from the previous execution that's<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * the supplied path.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param fs is the filesystem.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @param confParam is global configuration settings.<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @param regionInfo - HRegionInfo that describes the region<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * is new), then read them from the supplied path.<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param htd the table descriptor<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @deprecated Use other constructors.<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  @Deprecated<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  @VisibleForTesting<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      final Configuration confParam, final HRegionInfo regionInfo,<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.627"></a>
-<span class="sourceLineNo">628</span>      wal, confParam, htd, rsServices);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>  }<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>  /**<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   *<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * @param fs is the filesystem.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * The wal file is a logfile from the previous execution that's<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.640"></a>
-<span class="sourceLineNo">641</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   * the supplied path.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * @param confParam is global configuration settings.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @param htd the table descriptor<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    if (htd == null) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      throw new IllegalArgumentException("Need table descriptor");<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    }<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span>    if (confParam instanceof CompoundConfiguration) {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      throw new IllegalArgumentException("Need original base configuration");<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>    this.wal = wal;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    this.fs = fs;<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    this.baseConf = confParam;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.conf = new CompoundConfiguration()<a name="line.662"></a>
-<span class="sourceLineNo">663</span>      .add(confParam)<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      .addStringMap(htd.getConfiguration())<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      .addBytesMap(htd.getValues());<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.670"></a>
-<span class="sourceLineNo">671</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.673"></a>
-<span class="sourceLineNo">674</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.674"></a>
-<span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span>    this.maxWaitForSeqId = conf.getInt(MAX_WAIT_FOR_SEQ_ID_KEY, DEFAULT_MAX_WAIT_FOR_SEQ_ID);<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    this.htableDescriptor = htd;<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.rsServices = rsServices;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    this.threadWakeFrequency = conf.getLong(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    setHTableSpecificConf();<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;RegionScanner, Long&gt;();<a name="line.682"></a>
-<span class="sourceLineNo">683</span><a name="line.683"></a>
-<span class="sourceLineNo">684</span>    this.busyWaitDuration = conf.getLong(<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.688"></a>
-<span class="sourceLineNo">689</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.689"></a>
-<span class="sourceLineNo">690</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    }<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>    /*<a name="line.695"></a>
-<span class="sourceLineNo">696</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.698"></a>
-<span class="sourceLineNo">699</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.699"></a>
-<span class="sourceLineNo">700</span>     */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    this.timestampSlop = conf.getLong(<a name="line.701"></a>
-<span class="sourceLineNo">702</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        HConstants.LATEST_TIMESTAMP);<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>    /**<a name="line.705"></a>
-<span class="sourceLineNo">706</span>     * Timeout for the process time in processRowsWithLocks().<a name="line.706"></a>
-<span class="sourceLineNo">707</span>     * Use -1 to switch off time bound.<a name="line.707"></a>
-<span class="sourceLineNo">708</span>     */<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    this.durability = htd.getDurability() == Durability.USE_DEFAULT<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        ? DEFAULT_DURABILITY<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        : htd.getDurability();<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    if (rsServices != null) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>      Map&lt;String, Region&gt; recoveringRegions = rsServices.getRecoveringRegions();<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      String encodedName = getRegionInfo().getEncodedName();<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      if (recoveringRegions != null &amp;&amp; recoveringRegions.containsKey(encodedName)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        this.recovering = true;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        recoveringRegions.put(encodedName, this);<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      }<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    } else {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.metricsRegionWrapper = null;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      this.metricsRegion = null;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    if (LOG.isDebugEnabled()) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      // Write out region name as string and its encoded name.<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      LOG.debug("Instantiated " + this);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>    }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>    // by default, we allow writes against a region when it's in recovering<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    this.disallowWritesInRecovering =<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        conf.getBoolean(HConstants.DISALLOW_WRITES_IN_RECOVERING,<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          HConstants.DEFAULT_DISALLOW_WRITES_IN_RECOVERING_CONFIG);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    configurationManager = Optional.absent();<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.744"></a>
-<span class="sourceLineNo">745</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          false :<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.747"></a>
-<span class="sourceLineNo">748</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  }<a name="line.749"></a>
-<span class="sourceLineNo">750</span><a name="line.750"></a>
-<span class="sourceLineNo">751</span>  void setHTableSpecificConf() {<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    if (this.htableDescriptor == null) return;<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.753"></a>
-<span class="sourceLineNo">754</span><a name="line.754"></a>
-<span class="sourceLineNo">755</span>    if (flushSize &lt;= 0) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        HTableDescriptor.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    this.memstoreFlushSize = flushSize;<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.760"></a>
-<span class="sourceLineNo">761</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  }<a name="line.763"></a>
-<span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>  /**<a name="line.765"></a>
-<span class="sourceLineNo">766</span>   * Initialize this region.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * You should use createHRegion() or openHRegion()<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * @return What the next sequence (edit) id should be.<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * @throws IOException e<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   */<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  @Deprecated<a name="line.773"></a>
-<span class="sourceLineNo">774</span>  public long initialize() throws IOException {<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    return initialize(null);<a name="line.775"></a>
-<span class="sourceLineNo">776</span>  }<a name="line.776"></a>
-<span class="sourceLineNo">777</span><a name="line.777"></a>
-<span class="sourceLineNo">778</span>  /**<a name="line.778"></a>
-<span class="sourceLineNo">779</span>   * Initialize this region.<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   *<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * @return What the next sequence (edit) id should be.<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * @throws IOException e<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   */<a name="line.784"></a>
-<span class="sourceLineNo">785</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    long nextSeqId = -1;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    try {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.789"></a>
-<span class="sourceLineNo">790</span>      return nextSeqId;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    } finally {<a name="line.791"></a>
-<span class="sourceLineNo">792</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      // At least it will be 0 otherwise.<a name="line.793"></a>
-<span class="sourceLineNo">794</span>      if (nextSeqId == -1) {<a name="line.794"></a>
-<span class="sourceLineNo">795</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.795"></a>
-<span class="sourceLineNo">796</span>          " initialization.");<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      }<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span>  }<a name="line.799"></a>
-<span class="sourceLineNo">800</span><a name="line.800"></a>
-<span class="sourceLineNo">801</span>  private long initializeRegionInternals(final CancelableProgressable reporter,<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      final MonitoredTask status) throws IOException {<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    if (coprocessorHost != null) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      status.setStatus("Running coprocessor pre-open hook");<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      coprocessorHost.preOpen();<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    // Write HRI to a file in case we need to recover hbase:meta<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    status.setStatus("Writing region info on filesystem");<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    fs.checkRegionInfoOnFilesystem();<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    // Initialize all the HStores<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    status.setStatus("Initializing all the Stores");<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    long maxSeqId = initializeStores(reporter, status);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    this.mvcc.advanceTo(maxSeqId);<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    if (ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      // Recover any edits if available.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      maxSeqId = Math.max(maxSeqId,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>        replayRecoveredEditsIfAny(this.fs.getRegionDir(), maxSeqIdInStores, reporter, status));<a name="line.819"></a>
-<span class="sourceLineNo">820</span>      // Make sure mvcc is up to max.<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.mvcc.advanceTo(maxSeqId);<a name="line.821"></a>
-<span class="sourceLineNo">822</span>    }<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    this.lastReplayedOpenRegionSeqId = maxSeqId;<a name="line.823"></a>
-<span class="sourceLineNo">824</span><a name="line.824"></a>
-<span class="sourceLineNo">825</span>    this.writestate.setReadOnly(ServerRegionReplicaUtil.isReadOnly(this));<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    this.writestate.flushRequested = false;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    this.writestate.compacting.set(0);<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span>    if (this.writestate.writesEnabled) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      // Remove temporary data left over from old regions<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      status.setStatus("Cleaning up temporary data from old regions");<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      fs.cleanupTempDir();<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
-<span class="sourceLineNo">834</span><a name="line.834"></a>
-<span class="sourceLineNo">835</span>    if (this.writestate.writesEnabled) {<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      status.setStatus("Cleaning up detritus from prior splits");<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      // Get rid of any splits or merges that were lost in-progress.  Clean out<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      // these directories here on open.  We may be opening a region that was<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      // being split but we crashed in the middle of it all.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>      fs.cleanupAnySplitDetritus();<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      fs.cleanupMergesDir();<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Initialize split policy<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    this.splitPolicy = RegionSplitPolicy.create(this, conf);<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span>    // Initialize flush policy<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    this.flushPolicy = FlushPolicyFactory.create(this, conf);<a name="line.848"></a>
-<span class="sourceLineNo">849</span><a name="line.849"></a>
-<span class="sourceLineNo">850</span>    long lastFlushTime = EnvironmentEdgeManager.currentTime();<a name="line.850"></a>
-<span class="sourceLineNo">851</span>    for (Store store: stores.values()) {<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      this.lastStoreFlushTimeMap.put(store, lastFlushTime);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>    // Use maximum of log sequenceid or that which was found in stores<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    // (particularly if no recovered edits, seqid will be -1).<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    long nextSeqid = maxSeqId;<a name="line.857"></a>
-<span class="sourceLineNo">858</span><a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // In distributedLogReplay mode, we don't know the last change sequence number because region<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // is opened before recovery completes. So we add a safety bumper to avoid new sequence number<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    // overlaps used sequence numbers<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (this.writestate.writesEnabled) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      nextSeqid = WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs<a name="line.863"></a>
-<span class="sourceLineNo">864</span>          .getRegionDir(), nextSeqid, (this.recovering ? (this.flushPerChanges + 10000000) : 1));<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    } else {<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      nextSeqid++;<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>    LOG.info("Onlined " + this.getRegionInfo().getShortNameToLog() +<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      "; next sequenceid=" + nextSeqid);<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    // A region can be reopened if failed a split; reset flags<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    this.closing.set(false);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    this.closed.set(false);<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    if (coprocessorHost != null) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      status.setStatus("Running coprocessor post-open hooks");<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      coprocessorHost.postOpen();<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span>    status.markComplete("Region opened successfully");<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    return nextSeqid;<a name="line.882"></a>
-<span class="sourceLineNo">883</span>  }<a name="line.883"></a>
-<span class="sourceLineNo">884</span><a name="line.884"></a>
-<span class="sourceLineNo">885</span>  /**<a name="line.885"></a>
-<span class="sourceLineNo">886</span>   * Open all Stores.<a name="line.886"></a>
-<span class="sourceLineNo">887</span>   * @param reporter<a name="line.887"></a>
-<span class="sourceLineNo">888</span>   * @param status<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * @return Highest sequenceId found out in a Store.<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * @throws IOException<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   */<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  private long initializeStores(final CancelableProgressable reporter, MonitoredTask status)<a name="line.892"></a>
-<span class="sourceLineNo">893</span>  throws IOException {<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    // Load in all the HStores.<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    long maxSeqId = -1;<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    // initialized to -1 so that we pick up MemstoreTS from column families<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    long maxMemstoreTS = -1;<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    if (!htableDescriptor.getFamilies().isEmpty()) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      // initialize the thread pool for opening stores in parallel.<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      ThreadPoolExecutor storeOpenerThreadPool =<a name="line.902"></a>
-<span class="sourceLineNo">903</span>        getStoreOpenAndCloseThreadPool("StoreOpener-" + this.getRegionInfo().getShortNameToLog());<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      CompletionService&lt;HStore&gt; completionService =<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        new ExecutorCompletionService&lt;HStore&gt;(storeOpenerThreadPool);<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span>      // initialize each store in parallel<a name="line.907"></a>
-<span class="sourceLineNo">908</span>      for (final HColumnDescriptor family : htableDescriptor.getFamilies()) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        status.setStatus("Instantiating store for column family " + family);<a name="line.909"></a>
-<span class="sourceLineNo">910</span>        completionService.submit(new Callable&lt;HStore&gt;() {<a name="line.910"></a>
-<span class="sourceLineNo">911</span>          @Override<a name="line.911"></a>
-<span class="sourceLineNo">912</span>          public HStore call() throws IOException {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>            return instantiateHStore(family);<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>      boolean allStoresOpened = false;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>      try {<a name="line.918"></a>
-<span class="sourceLineNo">919</span>        for (int i = 0; i &lt; htableDescriptor.getFamilies().size(); i++) {<a name="line.919"></a>
-<span class="sourceLineNo">920</span>          Future&lt;HStore&gt; future = completionService.take();<a name="line.920"></a>
-<span class="sourceLineNo">921</span>          HStore store = future.get();<a name="line.921"></a>
-<span class="sourceLineNo">922</span>          this.stores.put(store.getFamily().getName(), store);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>          long storeMaxSequenceId = store.getMaxSequenceId();<a name="line.924"></a>
-<span class="sourceLineNo">925</span>          maxSeqIdInStores.put(store.getColumnFamilyName().getBytes(),<a name="line.925"></a>
-<span class="sourceLineNo">926</span>              storeMaxSequenceId);<a name="line.926"></a>
-<span class="sourceLineNo">927</span>          if (maxSeqId == -1 || storeMaxSequenceId &gt; maxSeqId) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>            maxSeqId = storeMaxSequenceId;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>          }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>          long maxStoreMemstoreTS = store.getMaxMemstoreTS();<a name="line.930"></a>
-<span class="sourceLineNo">931</span>          if (maxStoreMemstoreTS &gt; maxMemstoreTS) {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>            maxMemstoreTS = maxStoreMemstoreTS;<a name="line.932"></a>
-<span class="sourceLineNo">933</span>          }<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        }<a name="line.934"></a>
-<span class="sourceLineNo">935</span>        allStoresOpened = true;<a name="line.935"></a>
-<span class="sourceLineNo">936</span>      } catch (InterruptedException e) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>        throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>      } catch (ExecutionException e) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span>        throw new IOException(e.getCause());<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      } finally {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        storeOpenerThreadPool.shutdownNow();<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        if (!allStoresOpened) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>          // something went wrong, close all opened stores<a name="line.943"></a>
-<span class="sourceLineNo">944</span>          LOG.error("Could not initialize all stores for the region=" + this);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>          for (Store store : this.stores.values()) {<a name="line.945"></a>
-<span class="sourceLineNo">946</span>            try {<a name="line.946"></a>
-<span class="sourceLineNo">947</span>              store.close();<a name="line.947"></a>
-<span class="sourceLineNo">948</span>            } catch (IOException e) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>              LOG.warn(e.getMessage());<a name="line.949"></a>
-<span class="sourceLineNo">950</span>            }<a name="line.950"></a>
-<span class="sourceLineNo">951</span>          }<a name="line.951"></a>
-<span class="sourceLineNo">952</span>        }<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      }<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    return Math.max(maxSeqId, maxMemstoreTS + 1);<a name="line.955"></a>
-<span class="sourceLineNo">956</span>  }<a name="line.956"></a>
-<span class="sourceLineNo">957</span><a name="line.957"></a>
-<span class="sourceLineNo">958</span>  private void initializeWarmup(final CancelableProgressable reporter) throws IOException {<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.959"></a>
-<span class="sourceLineNo">960</span><a name="line.960"></a>
-<span class="sourceLineNo">961</span>    // Initialize all the HStores<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    status.setStatus("Warming up all the Stores");<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    initializeStores(reporter, status);<a name="line.963"></a>
-<span class="sourceLineNo">964</span>  }<a name="line.964"></a>
-<span class="sourceLineNo">965</span><a name="line.965"></a>
-<span class="sourceLineNo">966</span>  /**<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   * @return Map of StoreFiles by column family<a name="line.967"></a>
-<span class="sourceLineNo">968</span>   */<a name="line.968"></a>
-<span class="sourceLineNo">969</span>  private NavigableMap&lt;byte[], List&lt;Path&gt;&gt; getStoreFiles() {<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    NavigableMap&lt;byte[], List&lt;Path&gt;&gt; allStoreFiles =<a name="line.970"></a>
-<span class="sourceLineNo">971</span>      new TreeMap&lt;byte[], List&lt;Path&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    for (Store store: getStores()) {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.973"></a>
-<span class="sourceLineNo">974</span>      if (storeFiles == null) continue;<a name="line.974"></a>
-<span class="sourceLineNo">975</span>      List&lt;Path&gt; storeFileNames = new ArrayList&lt;Path&gt;();<a name="line.975"></a>
-<span class="sourceLineNo">976</span>      for (StoreFile storeFile: storeFiles) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>        storeFileNames.add(storeFile.getPath());<a name="line.977"></a>
-<span class="sourceLineNo">978</span>      }<a name="line.978"></a>
-<span class="sourceLineNo">979</span>      allStoreFiles.put(store.getFamily().getName(), storeFileNames);<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    }<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    return allStoreFiles;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>  }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>  private void writeRegionOpenMarker(WAL wal, long openSeqId) throws IOException {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    RegionEventDescriptor regionOpenDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      RegionEventDescriptor.EventType.REGION_OPEN, getRegionInfo(), openSeqId,<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.988"></a>
-<span class="sourceLineNo">989</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionOpenDesc, mvcc);<a name="line.989"></a>
-<span class="sourceLineNo">990</span>  }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>  private void writeRegionCloseMarker(WAL wal) throws IOException {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    RegionEventDescriptor regionEventDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.994"></a>
-<span class="sourceLineNo">995</span>      RegionEventDescriptor.EventType.REGION_CLOSE, getRegionInfo(), mvcc.getReadPoint(),<a name="line.995"></a>
-<span class="sourceLineNo">996</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionEventDesc, mvcc);<a name="line.997"></a>
-<span class="sourceLineNo">998</span><a name="line.998"></a>
-<span class="sourceLineNo">999</span>    // Store SeqId in HDFS when a region closes<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    // checking region folder exists is due to many tests which delete the table folder while a<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    // table is still online<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    if (this.fs.getFileSystem().exists(this.fs.getRegionDir())) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>      WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs.getRegionDir(),<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>        mvcc.getReadPoint(), 0);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>    }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>  }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>  /**<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>   * @return True if this region has references.<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>   */<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>  public boolean hasReferences() {<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    for (Store store : this.stores.values()) {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      if (store.hasReferences()) return true;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>    return false;<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>  }<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span><a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  @Override<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  public HDFSBlocksDistribution getHDFSBlocksDistribution() {<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      new HDFSBlocksDistribution();<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    synchronized (this.stores) {<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>      for (Store store : this.stores.values()) {<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>        Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>        if (storeFiles == null) continue;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>        for (StoreFile sf : storeFiles) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>          HDFSBlocksDistribution storeFileBlocksDistribution =<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>            sf.getHDFSBlockDistribution();<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>          hdfsBlocksDistribution.add(storeFileBlocksDistribution);<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>    }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>    return hdfsBlocksDistribution;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>  /**<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>   * @param conf configuration<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>   * @param regionInfo encoded name of the region<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   * @throws IOException<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   */<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo) throws IOException {<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    Path tablePath = FSUtils.getTableDir(FSUtils.getRootDir(conf), tableDescriptor.getTableName());<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>    return computeHDFSBlocksDistribution(conf, tableDescriptor, regionInfo, tablePath);<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  }<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span><a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  /**<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>   * @param conf configuration<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * @param regionInfo encoded name of the region<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * @param tablePath the table directory<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>   * @throws IOException<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>   */<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo,  Path tablePath)<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>      throws IOException {<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    HDFSBlocksDistribution hdfsBlocksDistribution = new HDFSBlocksDistribution();<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>    FileSystem fs = tablePath.getFileSystem(conf);<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span><a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    HRegionFileSystem regionFs = new HRegionFileSystem(conf, fs, tablePath, regionInfo);<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    for (HColumnDescriptor family: tableDescriptor.getFamilies()) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      Collection&lt;StoreFileInfo&gt; storeFiles = regionFs.getStoreFiles(family.getNameAsString());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>      if (storeFiles == null) continue;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>      for (StoreFileInfo storeFileInfo : storeFiles) {<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>        try {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>          hdfsBlocksDistribution.add(storeFileInfo.computeHDFSBlocksDistribution(fs));<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        } catch (IOException ioe) {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>          LOG.warn("Error getting hdfs block distribution for " + storeFileInfo);<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>        }<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    return hdfsBlocksDistribution;<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>  /**<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>   * Increase the size of mem store in this region and the size of global mem<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>   * store<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>   * @return the size of memstore in this region<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   */<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>  public long addAndGetGlobalMemstoreSize(long memStoreSize) {<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    if (this.rsAccounting != null) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>      rsAccounting.addAndGetGlobalMemstoreSize(memStoreSize);<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>    }<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    return this.memstoreSize.addAndGet(memStoreSize);<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  }<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span><a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>  @Override<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>  public HRegionInfo getRegionInfo() {<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>    return this.fs.getRegionInfo();<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  }<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>   * @return Instance of {@link RegionServerServices} used by this HRegion.<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * Can be null.<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   */<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>  RegionServerServices getRegionServerServices() {<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    return this.rsServices;<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  }<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span><a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  @Override<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>  public long getReadRequestsCount() {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    return readRequestsCount.get();<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>  }<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span><a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>  @Override<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  public void updateReadRequestsCount(long i) {<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>    readRequestsCount.add(i);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  }<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  @Override<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  public long getWriteRequestsCount() {<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    return writeRequestsCount.get();<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>  @Override<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public void updateWriteRequestsCount(long i) {<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    writeRequestsCount.add(i);<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  }<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span><a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  @Override<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  public long getMemstoreSize() {<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>    return memstoreSize.get();<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  }<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span><a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>  @Override<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  public long getNumMutationsWithoutWAL() {<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>    return numMutationsWithoutWAL.get();<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>  }<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  @Override<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public long getDataInMemoryWithoutWAL() {<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    return dataInMemoryWithoutWAL.get();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span><a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>  @Override<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  public long getBlockedRequestsCount() {<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>    return blockedRequestsCount.get();<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>  }<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span><a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  @Override<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  public long getCheckAndMutateChecksPassed() {<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    return checkAndMutateChecksPassed.get();<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>  @Override<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>  public long getCheckAndMutateChecksFailed() {<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    return checkAndMutateChecksFailed.get();<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>  }<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span><a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  @Override<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>  public MetricsRegion getMetrics() {<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    return metricsRegion;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>  }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span><a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>  @Override<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public boolean isClosed() {<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>    return this.closed.get();<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  }<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span><a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  @Override<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  public boolean isClosing() {<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>    return this.closing.get();<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  }<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>  @Override<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>  public boolean isReadOnly() {<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>    return this.writestate.isReadOnly();<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>  }<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span><a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>  /**<a name="line.1175"></a>
-<sp

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
index 0ac0edb..8e6a965 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
@@ -315,250 +315,254 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#explicitSplitPoint">explicitSplitPoint</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#filteredReadRequestsCount">filteredReadRequestsCount</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#FIXED_OVERHEAD">FIXED_OVERHEAD</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#flushCheckInterval">flushCheckInterval</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#flushPerChanges">flushPerChanges</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">FlushPolicy</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#flushPolicy">flushPolicy</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#FOR_UNIT_TESTS_ONLY">FOR_UNIT_TESTS_ONLY</a></strong></code>
 <div class="block">Row needed by below method.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#fs">fs</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#htableDescriptor">htableDescriptor</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isLoadingCfsOnDemandDefault">isLoadingCfsOnDemandDefault</a></strong></code>
 <div class="block">The default setting for whether to enable on-demand CF loading for
  scan requests to this region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lastFlushOpSeqId">lastFlushOpSeqId</a></strong></code>
 <div class="block">Record the sequence id of last flush operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lastReplayedCompactionSeqId">lastReplayedCompactionSeqId</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lastReplayedOpenRegionSeqId">lastReplayedOpenRegionSeqId</a></strong></code>
 <div class="block">The sequence id of the last replayed open region event from the primary region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lastStoreFlushTimeMap">lastStoreFlushTimeMap</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#LOAD_CFS_ON_DEMAND_CONFIG_KEY">LOAD_CFS_ON_DEMAND_CONFIG_KEY</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lock">lock</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lockedRows">lockedRows</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static org.apache.commons.logging.Log</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#LOG">LOG</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#majorInProgress">majorInProgress</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#MAX_FLUSH_PER_CHANGES">MAX_FLUSH_PER_CHANGES</a></strong></code>
 <div class="block">The following MAX_FLUSH_PER_CHANGES is large enough because each KeyValue has 20+ bytes
  overhead.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#MAX_WAIT_FOR_SEQ_ID_KEY">MAX_WAIT_FOR_SEQ_ID_KEY</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxBusyWaitDuration">maxBusyWaitDuration</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxBusyWaitMultiplier">maxBusyWaitMultiplier</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxFlushedSeqId">maxFlushedSeqId</a></strong></code>
 <div class="block">The max sequence id of flushed data on this region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxSeqIdInStores">maxSeqIdInStores</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxWaitForSeqId">maxWaitForSeqId</a></strong></code>
 <div class="block">Longest time we'll wait on a sequenceid.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#MEMSTORE_FLUSH_PER_CHANGES">MEMSTORE_FLUSH_PER_CHANGES</a></strong></code>
 <div class="block">Conf key to force a flush if there are already enough changes for one region in memstore</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#MEMSTORE_PERIODIC_FLUSH_INTERVAL">MEMSTORE_PERIODIC_FLUSH_INTERVAL</a></strong></code>
 <div class="block">Conf key for the periodic flush interval</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#memstoreFlushSize">memstoreFlushSize</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#memstoreSize">memstoreSize</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#metricsRegion">metricsRegion</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapperImpl</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#metricsRegionWrapper">metricsRegionWrapper</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#minorInProgress">minorInProgress</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#MOCKED_LIST">MOCKED_LIST</a></strong></code>
 <div class="block">A mocked list implementation - discards all updates.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#mvcc">mvcc</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#numMutationsWithoutWAL">numMutationsWithoutWAL</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openSeqNum">openSeqNum</a></strong></code>
 <div class="block">The sequence ID that was encountered when this region was opened.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#prepareFlushResult">prepareFlushResult</a></strong></code>
 <div class="block">Saved state from replaying prepare flush cache</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#readRequestsCount">readRequestsCount</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#recovering">recovering</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#regionStatsEnabled">regionStatsEnabled</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#rowLockWaitDuration">rowLockWaitDuration</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#rowProcessorExecutor">rowProcessorExecutor</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#rowProcessorTimeout">rowProcessorTimeout</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#rsAccounting">rsAccounting</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#rsServices">rsServices</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#scannerReadPoints">scannerReadPoints</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="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><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#splitPolicy">splitPolicy</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#splitRequest">splitRequest</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#stores">stores</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#SYSTEM_CACHE_FLUSH_INTERVAL">SYSTEM_CACHE_FLUSH_INTERVAL</a></strong></code>
 <div class="block">Default interval for System tables memstore flush</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#threadWakeFrequency">threadWakeFrequency</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#timestampSlop">timestampSlop</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#updatesLock">updatesLock</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="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><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#wal">wal</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#writeRequestsCount">writeRequestsCount</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.WriteState</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#writestate">writestate</a></strong></code>&nbsp;</td>
 </tr>
@@ -961,10 +965,11 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doMiniBatchMutation(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">doMiniBatchMutation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;?&gt;&nbsp;batchOp)</code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doMiniBatchMutation(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress,%20int)">doMiniBatchMutation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;?&gt;&nbsp;batchOp,
+                                      int&nbsp;cellCount)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private void</code></td>
+<td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doPreMutationHook(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">doPreMutationHook</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;?&gt;&nbsp;batchOp)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -1097,83 +1102,87 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getFilesystem()">getFilesystem</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getHDFSBlocksDistribution()">getHDFSBlocksDistribution</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getLargestHStoreSize()">getLargestHStoreSize</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMaxFlushedSeqId()">getMaxFlushedSeqId</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMaxStoreSeqId()">getMaxStoreSeqId</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMemstoreFlushSize()">getMemstoreFlushSize</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMemstoreSize()">getMemstoreSize</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMetrics()">getMetrics</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getMVCC()">getMVCC</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getNextSequenceId(org.apache.hadoop.hbase.wal.WAL)">getNextSequenceId</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
 <div class="block">Method to safely get the next sequence number.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getNumMutationsWithoutWAL()">getNumMutationsWithoutWAL</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getOldestHfileTs(boolean)">getOldestHfileTs</a></strong>(boolean&nbsp;majorCompactioOnly)</code>
 <div class="block">This can be used to determine the last time all files of this region were major compacted.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getOldestSeqIdOfStore(byte[])">getOldestSeqIdOfStore</a></strong>(byte[]&nbsp;familyName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getOpenAndCloseThreadPool(int,%20java.lang.String)">getOpenAndCloseThreadPool</a></strong>(int&nbsp;maxThreads,
                                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;threadNamePrefix)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getOpenSeqNum()">getOpenSeqNum</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getPrepareFlushResult()">getPrepareFlushResult</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getReadpoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadpoint</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getReadPoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadPoint</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getReadRequestsCount()">getReadRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionDir(org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo)">getRegionDir</a></strong>(org.apache.hadoop.fs.Path&nbsp;rootdir,
                         <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info)</code>
@@ -1182,7 +1191,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionDir(org.apache.hadoop.fs.Path,%20java.lang.String)">getRegionDir</a></strong>(org.apache.hadoop.fs.Path&nbsp;tabledir,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
@@ -1191,48 +1200,48 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionFileSystem()">getRegionFileSystem</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionInfo()">getRegionInfo</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionServerServices()">getRegionServerServices</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionLoadStats</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionStats()">getRegionStats</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRowLock(byte[])">getRowLock</a></strong>(byte[]&nbsp;row)</code>
 <div class="block">Get an exclusive ( write lock ) lock on a given row.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getRowLock(byte[],%20boolean)">getRowLock</a></strong>(byte[]&nbsp;row,
                     boolean&nbsp;readLock)</code>
 <div class="block">Get a row lock for the specified row.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getScanner(org.apache.hadoop.hbase.client.Scan)">getScanner</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
 <div class="block">Return an iterator that scans over the HRegion, returning the indicated
  columns and rows specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getScanner(org.apache.hadoop.hbase.client.Scan,%20boolean)">getScanner</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                     boolean&nbsp;copyCellsFromSharedMem)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getScanner(org.apache.hadoop.hbase.client.Scan,%20java.util.List)">getScanner</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners)</code>
@@ -1240,96 +1249,96 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getScanner(org.apache.hadoop.hbase.client.Scan,%20java.util.List,%20boolean)">getScanner</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners,
                     boolean&nbsp;copyCellsFromSharedMem)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getSequenceId()">getSequenceId</a></strong>()</code>
 <div class="block">Do not change this sequence id.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getSmallestReadPoint()">getSmallestReadPoint</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">RegionSplitPolicy</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getSplitPolicy()">getSplitPolicy</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStore(byte[])">getStore</a></strong>(byte[]&nbsp;column)</code>
 <div class="block">Return the Store for the given family</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStore(org.apache.hadoop.hbase.Cell)">getStore</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Return HStore instance.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStoreFileList(byte[][])">getStoreFileList</a></strong>(byte[][]&nbsp;columns)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStoreFileOpenAndCloseThreadPool(java.lang.String)">getStoreFileOpenAndCloseThreadPool</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;threadNamePrefix)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStoreFiles()">getStoreFiles</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStoreOpenAndCloseThreadPool(java.lang.String)">getStoreOpenAndCloseThreadPool</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;threadNamePrefix)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getStores()">getStores</a></strong>()</code>
 <div class="block">Return the list of Stores managed by this region</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getTableDesc()">getTableDesc</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getWAL()">getWAL</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getWriteRequestsCount()">getWriteRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#hashCode()">hashCode</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#hasMultipleColumnFamilies(java.util.Collection)">hasMultipleColumnFamilies</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;familyPaths)</code>
 <div class="block">Determines whether multiple column families are present
  Precondition: familyPaths is not null</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#hasReferences()">hasReferences</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#heapSize()">heapSize</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#increment(org.apache.hadoop.hbase.client.Increment)">increment</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#increment(org.apache.hadoop.hbase.client.Increment,%20long,%20long)">increment</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;mutation,
                   long&nbsp;nonceGroup,
@@ -1337,7 +1346,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Perform one or more increment operations on a row.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#initialize()">initialize</a></strong>()</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;
@@ -1345,39 +1354,39 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#initialize(org.apache.hadoop.hbase.util.CancelableProgressable)">initialize</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)</code>
 <div class="block">Initialize this region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#initializeRegionInternals(org.apache.hadoop.hbase.util.CancelableProgressable,%20org.apache.hadoop.hbase.monitoring.MonitoredTask)">initializeRegionInternals</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
                                                   <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#initializeStores(org.apache.hadoop.hbase.util.CancelableProgressable,%20org.apache.hadoop.hbase.monitoring.MonitoredTask)">initializeStores</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
                                 <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)</code>
 <div class="block">Open all Stores.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#initializeWarmup(org.apache.hadoop.hbase.util.CancelableProgressable)">initializeWarmup</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#instantiateHStore(org.apache.hadoop.hbase.HColumnDescriptor)">instantiateHStore</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;family)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#instantiateRegionScanner(org.apache.hadoop.hbase.client.Scan,%20java.util.List,%20boolean)">instantiateRegionScanner</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                                                 <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners,
                                                 boolean&nbsp;copyCellsFromSharedMem)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalFlushcache(java.util.Collection,%20org.apache.hadoop.hbase.monitoring.MonitoredTask,%20boolean)">internalFlushcache</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&gt;&nbsp;storesToFlush,
                                     <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status,
@@ -1385,13 +1394,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Flushing given stores.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalFlushcache(org.apache.hadoop.hbase.monitoring.MonitoredTask)">internalFlushcache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)</code>
 <div class="block">Flushing all stores.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalFlushcache(org.apache.hadoop.hbase.wal.WAL,%20long,%20java.util.Collection,%20org.apache.hadoop.hbase.monitoring.MonitoredTask,%20boolean)">internalFlushcache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                     long&nbsp;myseqid,
@@ -1401,14 +1410,14 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Flush the memstore.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalFlushCacheAndCommit(org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.monitoring.MonitoredTask,%20org.apache.hadoop.hbase.regionserver.HRegion.PrepareFlushResult,%20java.util.Collection)">internalFlushCacheAndCommit</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                                       <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status,
                                                       <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a>&nbsp;prepareResult,
                                                       <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&gt;&nbsp;storesToFlush)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#internalPrepareFlushCache(org.apache.hadoop.hbase.wal.WAL,%20long,%20java.util.Collection,%20org.apache.hadoop.hbase.monitoring.MonitoredTask,%20boolean)">internalPrepareFlushCache</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                                   long&nbsp;myseqid,
@@ -1416,104 +1425,104 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
                                                   <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status,
                                                   boolean&nbsp;writeFlushWalMarker)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isAllFamilies(java.util.Collection)">isAllFamilies</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&gt;&nbsp;families)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isAvailable()">isAvailable</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isClosed()">isClosed</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isClosing()">isClosing</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isFlushSize(long)">isFlushSize</a></strong>(long&nbsp;size)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isLoadingCfsOnDemandDefault()">isLoadingCfsOnDemandDefault</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isMergeable()">isMergeable</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isReadOnly()">isReadOnly</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isRecovering()">isRecovering</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isSplittable()">isSplittable</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#isZeroLengthThenDelete(org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.fs.Path)">isZeroLengthThenDelete</a></strong>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                             org.apache.hadoop.fs.Path&nbsp;p)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lock(java.util.concurrent.locks.Lock)">lock</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;lock)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#lock(java.util.concurrent.locks.Lock,%20int)">lock</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;lock,
         int&nbsp;multiplier)</code>
 <div class="block">Try to acquire a lock.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#logRegionFiles()">logRegionFiles</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#main(java.lang.String[])">main</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>
 <div class="block">Facility for dumping and compacting catalog tables.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#merge(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.HRegion)">merge</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;a,
           <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;b)</code>
 <div class="block">Merge two regions whether they are adjacent or not.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#mergeAdjacent(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.regionserver.HRegion)">mergeAdjacent</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;srcA,
                           <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;srcB)</code>
 <div class="block">Merge two HRegions.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#metricsUpdateForGet(java.util.List)">metricsUpdateForGet</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#mutateRow(org.apache.hadoop.hbase.client.RowMutations)">mutateRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm)</code>
 <div class="block">Performs multiple mutations atomically on a single row.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#mutateRowsWithLocks(java.util.Collection,%20java.util.Collection)">mutateRowsWithLocks</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
                                       <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;rowsToLock)</code>
 <div class="block">Perform atomic mutations within the region w/o nonces.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#mutateRowsWithLocks(java.util.Collection,%20java.util.Collection,%20long,%20long)">mutateRowsWithLocks</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
                                       <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;rowsToLock,
@@ -1522,7 +1531,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Perform atomic mutations within the region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#newHRegion(org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.regionserver.RegionServerServices)">newHRegion</a></strong>(org.apache.hadoop.fs.Path&nbsp;tableDir,
                     <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
@@ -1535,20 +1544,20 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
  <a href="../../../../../org/apache/hadoop/hbase/HConstants.html#REGION_IMPL"><code>HConstants.REGION_IMPL</code></a> configuration property.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#onConfigurationChange(org.apache.hadoop.conf.Configuration)">onConfigurationChange</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
 <div class="block">This method would be called by the <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a>
  object when the <code>Configuration</code> object is reloaded from disk.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.hbase.util.CancelableProgressable)">openHRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)</code>
 <div class="block">Open HRegion.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL)">openHRegion</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                       org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -1559,7 +1568,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.regionserver.RegionServerServices,%20org.apache.hadoop.hbase.util.CancelableProgressable)">openHRegion</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                       org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -1572,7 +1581,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.hbase.regionserver.RegionServerServices,%20org.apache.hadoop.hbase.util.CancelableProgressable)">openHRegion</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                       org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -1586,14 +1595,14 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.hbase.regionserver.HRegion,%20org.apache.hadoop.hbase.util.CancelableProgressable)">openHRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;other,
                       <a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)</code>
 <div class="block">Useful when reopening a closed region (normally for unit tests)</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.conf.Configuration)">openHRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
                       <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd,
@@ -1602,7 +1611,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.regionserver.RegionServerServices,%20org.apache.hadoop.hbase.util.CancelableProgressable)">openHRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
                       <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd,
@@ -1613,7 +1622,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.conf.Configuration)">openHRegion</a></strong>(org.apache.hadoop.fs.Path&nbsp;rootDir,
                       <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
@@ -1623,7 +1632,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.wal.WAL,%20org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.regionserver.RegionServerServices,%20org.apache.hadoop.hbase.util.CancelableProgressable)">openHRegion</a></strong>(org.apache.hadoop.fs.Path&nbsp;rootDir,
                       <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
@@ -1635,18 +1644,18 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Open a Region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#openHRegion(org.apache.hadoop.hbase.regionserver.Region,%20org.apache.hadoop.hbase.util.CancelableProgressable)">openHRegion</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;other,
                       <a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#prepareDelete(org.apache.hadoop.hbase.client.Delete)">prepareDelete</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</code>
 <div class="block">Prepare a delete for a row mutation processor</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#prepareDeleteTimestamps(org.apache.hadoop.hbase.client.Mutation,%20java.util.Map,%20byte[])">prepareDeleteTimestamps</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                                               <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
@@ -1654,27 +1663,27 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Set up correct timestamps in the KVs in Delete object.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#prepareGet(org.apache.hadoop.hbase.client.Get)">prepareGet</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#prepareToSplit()">prepareToSplit</a></strong>()</code>
 <div class="block">Give the region a chance to prepare before it is split.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#printUsageAndExit(java.lang.String)">printUsageAndExit</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#processRowsWithLocks(org.apache.hadoop.hbase.regionserver.RowProcessor)">processRowsWithLocks</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor)</code>
 <div class="block">Performs atomic multiple reads and writes on a given row.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#processRowsWithLocks(org.apache.hadoop.hbase.regionserver.RowProcessor,%20long,%20long)">processRowsWithLocks</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                                         long&nbsp;nonceGroup,
@@ -1682,7 +1691,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Performs atomic multiple reads and writes on a given row.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#processRowsWithLocks(org.apache.hadoop.hbase.regionserver.RowProcessor,%20long,%20long,%20long)">processRowsWithLocks</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                                         long&nbsp;timeout,
@@ -1691,7 +1700,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Performs atomic multiple reads and writes on a given row.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#processTable(org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.wal.WALFactory,%20org.apache.hadoop.conf.Configuration,%20boolean)">processTable</a></strong>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                         org.apache.hadoop.fs.Path&nbsp;p,
@@ -1699,7 +1708,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
                         org.apache.hadoop.conf.Configuration&nbsp;c,
                         boolean&nbsp;majorCompact)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#put(byte[],%20byte[],%20java.util.List)">put</a></strong>(byte[]&nbsp;row,
       byte[]&nbsp;family,
@@ -1707,19 +1716,19 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <div class="block">Add updates first to the wal and then add values to memstore.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#put(org.apache.hadoop.hbase.client.Put)">put</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
 <div class="block">Puts som

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
index 937da14..2ffbf97 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
@@ -76,687 +76,696 @@
 <span class="sourceLineNo">068</span>  private volatile long storeFileSize = 0;<a name="line.68"></a>
 <span class="sourceLineNo">069</span>  private volatile double requestsPerSecond = 0.0;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>  private volatile long readRequestsCount = 0;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private volatile long writeRequestsCount = 0;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private volatile long checkAndMutateChecksFailed = 0;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private volatile long checkAndMutateChecksPassed = 0;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  private volatile long storefileIndexSize = 0;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private volatile long totalStaticIndexSize = 0;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private volatile long totalStaticBloomSize = 0;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  private volatile long numMutationsWithoutWAL = 0;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  private volatile long dataInMemoryWithoutWAL = 0;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  private volatile double percentFileLocal = 0;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  private volatile double percentFileLocalSecondaryRegions = 0;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private volatile long flushedCellsCount = 0;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  private volatile long compactedCellsCount = 0;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  private volatile long majorCompactedCellsCount = 0;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  private volatile long flushedCellsSize = 0;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  private volatile long compactedCellsSize = 0;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private volatile long majorCompactedCellsSize = 0;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private volatile long cellsCountCompactedToMob = 0;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private volatile long cellsCountCompactedFromMob = 0;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  private volatile long cellsSizeCompactedToMob = 0;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private volatile long cellsSizeCompactedFromMob = 0;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  private volatile long mobFlushCount = 0;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  private volatile long mobFlushedCellsCount = 0;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  private volatile long mobFlushedCellsSize = 0;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  private volatile long mobScanCellsCount = 0;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  private volatile long mobScanCellsSize = 0;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  private volatile long mobFileCacheAccessCount = 0;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private volatile long mobFileCacheMissCount = 0;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  private volatile double mobFileCacheHitRatio = 0;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  private volatile long mobFileCacheEvictedCount = 0;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  private volatile long mobFileCacheCount = 0;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  private volatile long blockedRequestsCount = 0L;<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private CacheStats cacheStats;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  private ScheduledExecutorService executor;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  private Runnable runnable;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  private long period;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /**<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * Can be null if not on hdfs.<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  private DFSHedgedReadMetrics dfsHedgedReadMetrics;<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public MetricsRegionServerWrapperImpl(final HRegionServer regionServer) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    this.regionServer = regionServer;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    initBlockCache();<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    initMobFileCache();<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>    this.period =<a name="line.118"></a>
-<span class="sourceLineNo">119</span>        regionServer.conf.getLong(HConstants.REGIONSERVER_METRICS_PERIOD,<a name="line.119"></a>
-<span class="sourceLineNo">120</span>          HConstants.DEFAULT_REGIONSERVER_METRICS_PERIOD);<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>    this.executor = CompatibilitySingletonFactory.getInstance(MetricsExecutor.class).getExecutor();<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    this.runnable = new RegionServerMetricsWrapperRunnable();<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    this.executor.scheduleWithFixedDelay(this.runnable, this.period, this.period,<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      TimeUnit.MILLISECONDS);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    this.metricsWALSource = CompatibilitySingletonFactory.getInstance(MetricsWALSource.class);<a name="line.126"></a>
-<span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>    try {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      this.dfsHedgedReadMetrics = FSUtils.getDFSHedgedReadMetrics(regionServer.getConfiguration());<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    } catch (IOException e) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      LOG.warn("Failed to get hedged metrics", e);<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    if (LOG.isInfoEnabled()) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      LOG.info("Computing regionserver metrics every " + this.period + " milliseconds");<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    }<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  }<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span>  /**<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * It's possible that due to threading the block cache could not be initialized<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   * yet (testing multiple region servers in one jvm).  So we need to try and initialize<a name="line.140"></a>
-<span class="sourceLineNo">141</span>   * the blockCache and cacheStats reference multiple times until we succeed.<a name="line.141"></a>
-<span class="sourceLineNo">142</span>   */<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  private synchronized  void initBlockCache() {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    CacheConfig cacheConfig = this.regionServer.cacheConfig;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    if (cacheConfig != null &amp;&amp; this.blockCache == null) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      this.blockCache = cacheConfig.getBlockCache();<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    }<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>    if (this.blockCache != null &amp;&amp; this.cacheStats == null) {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      this.cacheStats = blockCache.getStats();<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
-<span class="sourceLineNo">153</span><a name="line.153"></a>
-<span class="sourceLineNo">154</span>  /**<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * Initializes the mob file cache.<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  private synchronized void initMobFileCache() {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    MobCacheConfig mobCacheConfig = this.regionServer.mobCacheConfig;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    if (mobCacheConfig != null &amp;&amp; this.mobFileCache == null) {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      this.mobFileCache = mobCacheConfig.getMobFileCache();<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    }<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>  @Override<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  public String getClusterId() {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    return regionServer.getClusterId();<a name="line.166"></a>
-<span class="sourceLineNo">167</span>  }<a name="line.167"></a>
-<span class="sourceLineNo">168</span><a name="line.168"></a>
-<span class="sourceLineNo">169</span>  @Override<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  public long getStartCode() {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    return regionServer.getStartcode();<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  }<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  @Override<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public String getZookeeperQuorum() {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    ZooKeeperWatcher zk = regionServer.getZooKeeper();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    if (zk == null) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return "";<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return zk.getQuorum();<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  @Override<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  public String getCoprocessors() {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    String[] coprocessors = regionServer.getRegionServerCoprocessors();<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    if (coprocessors == null || coprocessors.length == 0) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      return "";<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    return StringUtils.join(coprocessors, ", ");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  @Override<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  public String getServerName() {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    ServerName serverName = regionServer.getServerName();<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    if (serverName == null) {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      return "";<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    }<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    return serverName.getServerName();<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  }<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  @Override<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  public long getNumOnlineRegions() {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    Collection&lt;Region&gt; onlineRegionsLocalContext = regionServer.getOnlineRegionsLocalContext();<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    if (onlineRegionsLocalContext == null) {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return 0;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    }<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    return onlineRegionsLocalContext.size();<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>  @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  public long getTotalRequestCount() {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    return regionServer.rpcServices.requestCount.get();<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  @Override<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  public int getSplitQueueSize() {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      return 0;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    return this.regionServer.compactSplitThread.getSplitQueueSize();<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  }<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>  @Override<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  public int getCompactionQueueSize() {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    //The thread could be zero.  if so assume there is no queue.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return 0;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    return this.regionServer.compactSplitThread.getCompactionQueueSize();<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  @Override<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public int getSmallCompactionQueueSize() {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    //The thread could be zero.  if so assume there is no queue.<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      return 0;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    }<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    return this.regionServer.compactSplitThread.getSmallCompactionQueueSize();<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  }<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  @Override<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public int getLargeCompactionQueueSize() {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    //The thread could be zero.  if so assume there is no queue.<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>      return 0;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    return this.regionServer.compactSplitThread.getLargeCompactionQueueSize();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>  @Override<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  public int getFlushQueueSize() {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    //If there is no flusher there should be no queue.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    if (this.regionServer.cacheFlusher == null) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      return 0;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    }<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    return this.regionServer.cacheFlusher.getFlushQueueSize();<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  @Override<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  public long getBlockCacheCount() {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    if (this.blockCache == null) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      return 0;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    return this.blockCache.getBlockCount();<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  @Override<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  public long getBlockCacheSize() {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    if (this.blockCache == null) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      return 0;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    return this.blockCache.getCurrentSize();<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  @Override<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  public long getBlockCacheFreeSize() {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    if (this.blockCache == null) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      return 0;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    }<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    return this.blockCache.getFreeSize();<a name="line.280"></a>
-<span class="sourceLineNo">281</span>  }<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  @Override<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  public long getBlockCacheHitCount() {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    if (this.cacheStats == null) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      return 0;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    }<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    return this.cacheStats.getHitCount();<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  }<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>  @Override<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public long getBlockCachePrimaryHitCount() {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    if (this.cacheStats == null) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      return 0;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    return this.cacheStats.getPrimaryHitCount();<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>  @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  public long getBlockCacheMissCount() {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    if (this.cacheStats == null) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      return 0;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    }<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    return this.cacheStats.getMissCount();<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  @Override<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  public long getBlockCachePrimaryMissCount() {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    if (this.cacheStats == null) {<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      return 0;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    }<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return this.cacheStats.getPrimaryMissCount();<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @Override<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  public long getBlockCacheEvictedCount() {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    if (this.cacheStats == null) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      return 0;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    }<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    return this.cacheStats.getEvictedCount();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  }<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  @Override<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  public long getBlockCachePrimaryEvictedCount() {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    if (this.cacheStats == null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      return 0;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    }<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return this.cacheStats.getPrimaryEvictedCount();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  @Override<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public double getBlockCacheHitPercent() {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    if (this.cacheStats == null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      return 0;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    double ratio = this.cacheStats.getHitRatio();<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    if (Double.isNaN(ratio)) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      ratio = 0;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    }<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    return (ratio * 100);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  @Override<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  public double getBlockCacheHitCachingPercent() {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    if (this.cacheStats == null) {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      return 0;<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
-<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>    double ratio = this.cacheStats.getHitCachingRatio();<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>    if (Double.isNaN(ratio)) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      ratio = 0;<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    return (ratio * 100);<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  }<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>  @Override<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public long getBlockCacheFailedInsertions() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    return this.cacheStats.getFailedInserts();<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  @Override public void forceRecompute() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    this.runnable.run();<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
-<span class="sourceLineNo">365</span><a name="line.365"></a>
-<span class="sourceLineNo">366</span>  @Override<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  public long getNumStores() {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    return numStores;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  <a name="line.370"></a>
-<span class="sourceLineNo">371</span>  @Override<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  public long getNumWALFiles() {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    return numWALFiles;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  @Override<a name="line.376"></a>
-<span class="sourceLineNo">377</span>  public long getWALFileSize() {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    return walFileSize;<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  }<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>  @Override<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  public long getNumWALSlowAppend() {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return metricsWALSource.getSlowAppendCount();<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  <a name="line.385"></a>
-<span class="sourceLineNo">386</span>  @Override<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  public long getNumStoreFiles() {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    return numStoreFiles;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>  }<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>  @Override<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  public long getMemstoreSize() {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return memstoreSize;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  @Override<a name="line.396"></a>
-<span class="sourceLineNo">397</span>  public long getStoreFileSize() {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    return storeFileSize;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
-<span class="sourceLineNo">400</span><a name="line.400"></a>
-<span class="sourceLineNo">401</span>  @Override public double getRequestsPerSecond() {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    return requestsPerSecond;<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>  @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public long getReadRequestsCount() {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    return readRequestsCount;<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>  @Override<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  public long getWriteRequestsCount() {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    return writeRequestsCount;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>  }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>  @Override<a name="line.415"></a>
-<span class="sourceLineNo">416</span>  public long getCheckAndMutateChecksFailed() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    return checkAndMutateChecksFailed;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>  }<a name="line.418"></a>
-<span class="sourceLineNo">419</span><a name="line.419"></a>
-<span class="sourceLineNo">420</span>  @Override<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  public long getCheckAndMutateChecksPassed() {<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    return checkAndMutateChecksPassed;<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  }<a name="line.423"></a>
-<span class="sourceLineNo">424</span><a name="line.424"></a>
-<span class="sourceLineNo">425</span>  @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  public long getStoreFileIndexSize() {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    return storefileIndexSize;<a name="line.427"></a>
-<span class="sourceLineNo">428</span>  }<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>  @Override<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  public long getTotalStaticIndexSize() {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    return totalStaticIndexSize;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  }<a name="line.433"></a>
-<span class="sourceLineNo">434</span><a name="line.434"></a>
-<span class="sourceLineNo">435</span>  @Override<a name="line.435"></a>
-<span class="sourceLineNo">436</span>  public long getTotalStaticBloomSize() {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return totalStaticBloomSize;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  @Override<a name="line.440"></a>
-<span class="sourceLineNo">441</span>  public long getNumMutationsWithoutWAL() {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    return numMutationsWithoutWAL;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public long getDataInMemoryWithoutWAL() {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return dataInMemoryWithoutWAL;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  }<a name="line.448"></a>
-<span class="sourceLineNo">449</span><a name="line.449"></a>
-<span class="sourceLineNo">450</span>  @Override<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  public double getPercentFileLocal() {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    return percentFileLocal;<a name="line.452"></a>
-<span class="sourceLineNo">453</span>  }<a name="line.453"></a>
-<span class="sourceLineNo">454</span><a name="line.454"></a>
-<span class="sourceLineNo">455</span>  @Override<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  public double getPercentFileLocalSecondaryRegions() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    return percentFileLocalSecondaryRegions;<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>  @Override<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  public long getUpdatesBlockedTime() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    if (this.regionServer.cacheFlusher == null) {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      return 0;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    return this.regionServer.cacheFlusher.getUpdatesBlockedMsHighWater().get();<a name="line.465"></a>
-<span class="sourceLineNo">466</span>  }<a name="line.466"></a>
-<span class="sourceLineNo">467</span><a name="line.467"></a>
-<span class="sourceLineNo">468</span>  @Override<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  public long getFlushedCellsCount() {<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    return flushedCellsCount;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  }<a name="line.471"></a>
-<span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span>  @Override<a name="line.473"></a>
-<span class="sourceLineNo">474</span>  public long getCompactedCellsCount() {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    return compactedCellsCount;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>  }<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>  @Override<a name="line.478"></a>
-<span class="sourceLineNo">479</span>  public long getMajorCompactedCellsCount() {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    return majorCompactedCellsCount;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>  }<a name="line.481"></a>
-<span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span>  @Override<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  public long getFlushedCellsSize() {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return flushedCellsSize;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public long getCompactedCellsSize() {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    return compactedCellsSize;<a name="line.490"></a>
-<span class="sourceLineNo">491</span>  }<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>  @Override<a name="line.493"></a>
-<span class="sourceLineNo">494</span>  public long getMajorCompactedCellsSize() {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    return majorCompactedCellsSize;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  }<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>  @Override<a name="line.498"></a>
-<span class="sourceLineNo">499</span>  public long getCellsCountCompactedFromMob() {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    return cellsCountCompactedFromMob;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  }<a name="line.501"></a>
-<span class="sourceLineNo">502</span><a name="line.502"></a>
-<span class="sourceLineNo">503</span>  @Override<a name="line.503"></a>
-<span class="sourceLineNo">504</span>  public long getCellsCountCompactedToMob() {<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    return cellsCountCompactedToMob;<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>  @Override<a name="line.508"></a>
-<span class="sourceLineNo">509</span>  public long getCellsSizeCompactedFromMob() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    return cellsSizeCompactedFromMob;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  }<a name="line.511"></a>
-<span class="sourceLineNo">512</span><a name="line.512"></a>
-<span class="sourceLineNo">513</span>  @Override<a name="line.513"></a>
-<span class="sourceLineNo">514</span>  public long getCellsSizeCompactedToMob() {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    return cellsSizeCompactedToMob;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>  @Override<a name="line.518"></a>
-<span class="sourceLineNo">519</span>  public long getMobFlushCount() {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    return mobFlushCount;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>  }<a name="line.521"></a>
-<span class="sourceLineNo">522</span><a name="line.522"></a>
-<span class="sourceLineNo">523</span>  @Override<a name="line.523"></a>
-<span class="sourceLineNo">524</span>  public long getMobFlushedCellsCount() {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    return mobFlushedCellsCount;<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  }<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span>  @Override<a name="line.528"></a>
-<span class="sourceLineNo">529</span>  public long getMobFlushedCellsSize() {<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    return mobFlushedCellsSize;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>  }<a name="line.531"></a>
-<span class="sourceLineNo">532</span><a name="line.532"></a>
-<span class="sourceLineNo">533</span>  @Override<a name="line.533"></a>
-<span class="sourceLineNo">534</span>  public long getMobScanCellsCount() {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    return mobScanCellsCount;<a name="line.535"></a>
-<span class="sourceLineNo">536</span>  }<a name="line.536"></a>
-<span class="sourceLineNo">537</span><a name="line.537"></a>
-<span class="sourceLineNo">538</span>  @Override<a name="line.538"></a>
-<span class="sourceLineNo">539</span>  public long getMobScanCellsSize() {<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    return mobScanCellsSize;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>  }<a name="line.541"></a>
-<span class="sourceLineNo">542</span><a name="line.542"></a>
-<span class="sourceLineNo">543</span>  @Override<a name="line.543"></a>
-<span class="sourceLineNo">544</span>  public long getMobFileCacheAccessCount() {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return mobFileCacheAccessCount;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  @Override<a name="line.548"></a>
-<span class="sourceLineNo">549</span>  public long getMobFileCacheMissCount() {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    return mobFileCacheMissCount;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>  }<a name="line.551"></a>
-<span class="sourceLineNo">552</span><a name="line.552"></a>
-<span class="sourceLineNo">553</span>  @Override<a name="line.553"></a>
-<span class="sourceLineNo">554</span>  public long getMobFileCacheCount() {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    return mobFileCacheCount;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>  }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>  @Override<a name="line.558"></a>
-<span class="sourceLineNo">559</span>  public long getMobFileCacheEvictedCount() {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    return mobFileCacheEvictedCount;<a name="line.560"></a>
-<span class="sourceLineNo">561</span>  }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>  @Override<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  public double getMobFileCacheHitPercent() {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    return mobFileCacheHitRatio * 100;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  }<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  /**<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * This is the runnable that will be executed on the executor every PERIOD number of seconds<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * It will take metrics/numbers from all of the regions and use them to compute point in<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * time metrics.<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  public class RegionServerMetricsWrapperRunnable implements Runnable {<a name="line.573"></a>
-<span class="sourceLineNo">574</span><a name="line.574"></a>
-<span class="sourceLineNo">575</span>    private long lastRan = 0;<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    private long lastRequestCount = 0;<a name="line.576"></a>
-<span class="sourceLineNo">577</span><a name="line.577"></a>
-<span class="sourceLineNo">578</span>    @Override<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    synchronized public void run() {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      try {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        initBlockCache();<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        initMobFileCache();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        cacheStats = blockCache.getStats();<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>        HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.585"></a>
-<span class="sourceLineNo">586</span>            new HDFSBlocksDistribution();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        HDFSBlocksDistribution hdfsBlocksDistributionSecondaryRegions =<a name="line.587"></a>
-<span class="sourceLineNo">588</span>            new HDFSBlocksDistribution();<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>        long tempNumStores = 0, tempNumStoreFiles = 0, tempMemstoreSize = 0, tempStoreFileSize = 0;<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        long tempReadRequestsCount = 0, tempWriteRequestsCount = 0;<a name="line.591"></a>
-<span class="sourceLineNo">592</span>        long tempCheckAndMutateChecksFailed = 0;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        long tempCheckAndMutateChecksPassed = 0;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>        long tempStorefileIndexSize = 0;<a name="line.594"></a>
-<span class="sourceLineNo">595</span>        long tempTotalStaticIndexSize = 0;<a name="line.595"></a>
-<span class="sourceLineNo">596</span>        long tempTotalStaticBloomSize = 0;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>        long tempNumMutationsWithoutWAL = 0;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>        long tempDataInMemoryWithoutWAL = 0;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>        double tempPercentFileLocal = 0;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>        double tempPercentFileLocalSecondaryRegions = 0;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>        long tempFlushedCellsCount = 0;<a name="line.601"></a>
-<span class="sourceLineNo">602</span>        long tempCompactedCellsCount = 0;<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        long tempMajorCompactedCellsCount = 0;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>        long tempFlushedCellsSize = 0;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        long tempCompactedCellsSize = 0;<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        long tempMajorCompactedCellsSize = 0;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>        long tempCellsCountCompactedToMob = 0;<a name="line.607"></a>
-<span class="sourceLineNo">608</span>        long tempCellsCountCompactedFromMob = 0;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>        long tempCellsSizeCompactedToMob = 0;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>        long tempCellsSizeCompactedFromMob = 0;<a name="line.610"></a>
-<span class="sourceLineNo">611</span>        long tempMobFlushCount = 0;<a name="line.611"></a>
-<span class="sourceLineNo">612</span>        long tempMobFlushedCellsCount = 0;<a name="line.612"></a>
-<span class="sourceLineNo">613</span>        long tempMobFlushedCellsSize = 0;<a name="line.613"></a>
-<span class="sourceLineNo">614</span>        long tempMobScanCellsCount = 0;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>        long tempMobScanCellsSize = 0;<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        long tempBlockedRequestsCount = 0;<a name="line.616"></a>
-<span class="sourceLineNo">617</span><a name="line.617"></a>
-<span class="sourceLineNo">618</span>        for (Region r : regionServer.getOnlineRegionsLocalContext()) {<a name="line.618"></a>
-<span class="sourceLineNo">619</span>          tempNumMutationsWithoutWAL += r.getNumMutationsWithoutWAL();<a name="line.619"></a>
-<span class="sourceLineNo">620</span>          tempDataInMemoryWithoutWAL += r.getDataInMemoryWithoutWAL();<a name="line.620"></a>
-<span class="sourceLineNo">621</span>          tempReadRequestsCount += r.getReadRequestsCount();<a name="line.621"></a>
-<span class="sourceLineNo">622</span>          tempWriteRequestsCount += r.getWriteRequestsCount();<a name="line.622"></a>
-<span class="sourceLineNo">623</span>          tempCheckAndMutateChecksFailed += r.getCheckAndMutateChecksFailed();<a name="line.623"></a>
-<span class="sourceLineNo">624</span>          tempCheckAndMutateChecksPassed += r.getCheckAndMutateChecksPassed();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>          tempBlockedRequestsCount += r.getBlockedRequestsCount();<a name="line.625"></a>
-<span class="sourceLineNo">626</span>          List&lt;Store&gt; storeList = r.getStores();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>          tempNumStores += storeList.size();<a name="line.627"></a>
-<span class="sourceLineNo">628</span>          for (Store store : storeList) {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>            tempNumStoreFiles += store.getStorefilesCount();<a name="line.629"></a>
-<span class="sourceLineNo">630</span>            tempMemstoreSize += store.getMemStoreSize();<a name="line.630"></a>
-<span class="sourceLineNo">631</span>            tempStoreFileSize += store.getStorefilesSize();<a name="line.631"></a>
-<span class="sourceLineNo">632</span>            tempStorefileIndexSize += store.getStorefilesIndexSize();<a name="line.632"></a>
-<span class="sourceLineNo">633</span>            tempTotalStaticBloomSize += store.getTotalStaticBloomSize();<a name="line.633"></a>
-<span class="sourceLineNo">634</span>            tempTotalStaticIndexSize += store.getTotalStaticIndexSize();<a name="line.634"></a>
-<span class="sourceLineNo">635</span>            tempFlushedCellsCount += store.getFlushedCellsCount();<a name="line.635"></a>
-<span class="sourceLineNo">636</span>            tempCompactedCellsCount += store.getCompactedCellsCount();<a name="line.636"></a>
-<span class="sourceLineNo">637</span>            tempMajorCompactedCellsCount += store.getMajorCompactedCellsCount();<a name="line.637"></a>
-<span class="sourceLineNo">638</span>            tempFlushedCellsSize += store.getFlushedCellsSize();<a name="line.638"></a>
-<span class="sourceLineNo">639</span>            tempCompactedCellsSize += store.getCompactedCellsSize();<a name="line.639"></a>
-<span class="sourceLineNo">640</span>            tempMajorCompactedCellsSize += store.getMajorCompactedCellsSize();<a name="line.640"></a>
-<span class="sourceLineNo">641</span>            if (store instanceof HMobStore) {<a name="line.641"></a>
-<span class="sourceLineNo">642</span>              HMobStore mobStore = (HMobStore) store;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>              tempCellsCountCompactedToMob += mobStore.getCellsCountCompactedToMob();<a name="line.643"></a>
-<span class="sourceLineNo">644</span>              tempCellsCountCompactedFromMob += mobStore.getCellsCountCompactedFromMob();<a name="line.644"></a>
-<span class="sourceLineNo">645</span>              tempCellsSizeCompactedToMob += mobStore.getCellsSizeCompactedToMob();<a name="line.645"></a>
-<span class="sourceLineNo">646</span>              tempCellsSizeCompactedFromMob += mobStore.getCellsSizeCompactedFromMob();<a name="line.646"></a>
-<span class="sourceLineNo">647</span>              tempMobFlushCount += mobStore.getMobFlushCount();<a name="line.647"></a>
-<span class="sourceLineNo">648</span>              tempMobFlushedCellsCount += mobStore.getMobFlushedCellsCount();<a name="line.648"></a>
-<span class="sourceLineNo">649</span>              tempMobFlushedCellsSize += mobStore.getMobFlushedCellsSize();<a name="line.649"></a>
-<span class="sourceLineNo">650</span>              tempMobScanCellsCount += mobStore.getMobScanCellsCount();<a name="line.650"></a>
-<span class="sourceLineNo">651</span>              tempMobScanCellsSize += mobStore.getMobScanCellsSize();<a name="line.651"></a>
-<span class="sourceLineNo">652</span>            }<a name="line.652"></a>
-<span class="sourceLineNo">653</span>          }<a name="line.653"></a>
-<span class="sourceLineNo">654</span><a name="line.654"></a>
-<span class="sourceLineNo">655</span>          HDFSBlocksDistribution distro = r.getHDFSBlocksDistribution();<a name="line.655"></a>
-<span class="sourceLineNo">656</span>          hdfsBlocksDistribution.add(distro);<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          if (r.getRegionInfo().getReplicaId() != HRegionInfo.DEFAULT_REPLICA_ID) {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>            hdfsBlocksDistributionSecondaryRegions.add(distro);<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          }<a name="line.659"></a>
-<span class="sourceLineNo">660</span>        }<a name="line.660"></a>
-<span class="sourceLineNo">661</span>        float localityIndex = hdfsBlocksDistribution.getBlockLocalityIndex(<a name="line.661"></a>
-<span class="sourceLineNo">662</span>            regionServer.getServerName().getHostname());<a name="line.662"></a>
-<span class="sourceLineNo">663</span>        tempPercentFileLocal = Double.isNaN(tempBlockedRequestsCount) ? 0 : (localityIndex * 100);<a name="line.663"></a>
-<span class="sourceLineNo">664</span><a name="line.664"></a>
-<span class="sourceLineNo">665</span>        float localityIndexSecondaryRegions = hdfsBlocksDistributionSecondaryRegions<a name="line.665"></a>
-<span class="sourceLineNo">666</span>            .getBlockLocalityIndex(regionServer.getServerName().getHostname());<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        tempPercentFileLocalSecondaryRegions = Double.<a name="line.667"></a>
-<span class="sourceLineNo">668</span>            isNaN(localityIndexSecondaryRegions) ? 0 : (localityIndexSecondaryRegions * 100);<a name="line.668"></a>
-<span class="sourceLineNo">669</span><a name="line.669"></a>
-<span class="sourceLineNo">670</span>        // Compute the number of requests per second<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        long currentTime = EnvironmentEdgeManager.currentTime();<a name="line.671"></a>
+<span class="sourceLineNo">071</span>  private volatile long filteredReadRequestsCount = 0;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private volatile long writeRequestsCount = 0;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private volatile long checkAndMutateChecksFailed = 0;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  private volatile long checkAndMutateChecksPassed = 0;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  private volatile long storefileIndexSize = 0;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  private volatile long totalStaticIndexSize = 0;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  private volatile long totalStaticBloomSize = 0;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  private volatile long numMutationsWithoutWAL = 0;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  private volatile long dataInMemoryWithoutWAL = 0;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  private volatile double percentFileLocal = 0;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  private volatile double percentFileLocalSecondaryRegions = 0;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  private volatile long flushedCellsCount = 0;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  private volatile long compactedCellsCount = 0;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  private volatile long majorCompactedCellsCount = 0;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private volatile long flushedCellsSize = 0;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  private volatile long compactedCellsSize = 0;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  private volatile long majorCompactedCellsSize = 0;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private volatile long cellsCountCompactedToMob = 0;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  private volatile long cellsCountCompactedFromMob = 0;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  private volatile long cellsSizeCompactedToMob = 0;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private volatile long cellsSizeCompactedFromMob = 0;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  private volatile long mobFlushCount = 0;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  private volatile long mobFlushedCellsCount = 0;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  private volatile long mobFlushedCellsSize = 0;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  private volatile long mobScanCellsCount = 0;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  private volatile long mobScanCellsSize = 0;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  private volatile long mobFileCacheAccessCount = 0;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  private volatile long mobFileCacheMissCount = 0;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  private volatile double mobFileCacheHitRatio = 0;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  private volatile long mobFileCacheEvictedCount = 0;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  private volatile long mobFileCacheCount = 0;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  private volatile long blockedRequestsCount = 0L;<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  private CacheStats cacheStats;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  private ScheduledExecutorService executor;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  private Runnable runnable;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  private long period;<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>  /**<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   * Can be null if not on hdfs.<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  private DFSHedgedReadMetrics dfsHedgedReadMetrics;<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public MetricsRegionServerWrapperImpl(final HRegionServer regionServer) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    this.regionServer = regionServer;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    initBlockCache();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    initMobFileCache();<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>    this.period =<a name="line.119"></a>
+<span class="sourceLineNo">120</span>        regionServer.conf.getLong(HConstants.REGIONSERVER_METRICS_PERIOD,<a name="line.120"></a>
+<span class="sourceLineNo">121</span>          HConstants.DEFAULT_REGIONSERVER_METRICS_PERIOD);<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span>    this.executor = CompatibilitySingletonFactory.getInstance(MetricsExecutor.class).getExecutor();<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    this.runnable = new RegionServerMetricsWrapperRunnable();<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    this.executor.scheduleWithFixedDelay(this.runnable, this.period, this.period,<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      TimeUnit.MILLISECONDS);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    this.metricsWALSource = CompatibilitySingletonFactory.getInstance(MetricsWALSource.class);<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>    try {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      this.dfsHedgedReadMetrics = FSUtils.getDFSHedgedReadMetrics(regionServer.getConfiguration());<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    } catch (IOException e) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      LOG.warn("Failed to get hedged metrics", e);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    }<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    if (LOG.isInfoEnabled()) {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      LOG.info("Computing regionserver metrics every " + this.period + " milliseconds");<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    }<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  }<a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>  /**<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * It's possible that due to threading the block cache could not be initialized<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * yet (testing multiple region servers in one jvm).  So we need to try and initialize<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   * the blockCache and cacheStats reference multiple times until we succeed.<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   */<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  private synchronized  void initBlockCache() {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    CacheConfig cacheConfig = this.regionServer.cacheConfig;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    if (cacheConfig != null &amp;&amp; this.blockCache == null) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      this.blockCache = cacheConfig.getBlockCache();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span>    if (this.blockCache != null &amp;&amp; this.cacheStats == null) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      this.cacheStats = blockCache.getStats();<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  /**<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * Initializes the mob file cache.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  private synchronized void initMobFileCache() {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    MobCacheConfig mobCacheConfig = this.regionServer.mobCacheConfig;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    if (mobCacheConfig != null &amp;&amp; this.mobFileCache == null) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      this.mobFileCache = mobCacheConfig.getMobFileCache();<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>  @Override<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public String getClusterId() {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    return regionServer.getClusterId();<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  }<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>  @Override<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  public long getStartCode() {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return regionServer.getStartcode();<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>  @Override<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public String getZookeeperQuorum() {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    ZooKeeperWatcher zk = regionServer.getZooKeeper();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    if (zk == null) {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      return "";<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return zk.getQuorum();<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  }<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>  @Override<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  public String getCoprocessors() {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    String[] coprocessors = regionServer.getRegionServerCoprocessors();<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    if (coprocessors == null || coprocessors.length == 0) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>      return "";<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    }<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    return StringUtils.join(coprocessors, ", ");<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
+<span class="sourceLineNo">192</span><a name="line.192"></a>
+<span class="sourceLineNo">193</span>  @Override<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  public String getServerName() {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    ServerName serverName = regionServer.getServerName();<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    if (serverName == null) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      return "";<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    return serverName.getServerName();<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  }<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>  @Override<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  public long getNumOnlineRegions() {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    Collection&lt;Region&gt; onlineRegionsLocalContext = regionServer.getOnlineRegionsLocalContext();<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    if (onlineRegionsLocalContext == null) {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      return 0;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    }<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    return onlineRegionsLocalContext.size();<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>  @Override<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  public long getTotalRequestCount() {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    return regionServer.rpcServices.requestCount.get();<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>  @Override<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  public int getSplitQueueSize() {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      return 0;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    }<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    return this.regionServer.compactSplitThread.getSplitQueueSize();<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  }<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>  @Override<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  public int getCompactionQueueSize() {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    //The thread could be zero.  if so assume there is no queue.<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      return 0;<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    return this.regionServer.compactSplitThread.getCompactionQueueSize();<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  }<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>  @Override<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  public int getSmallCompactionQueueSize() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    //The thread could be zero.  if so assume there is no queue.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      return 0;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    return this.regionServer.compactSplitThread.getSmallCompactionQueueSize();<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  @Override<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  public int getLargeCompactionQueueSize() {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    //The thread could be zero.  if so assume there is no queue.<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      return 0;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    }<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    return this.regionServer.compactSplitThread.getLargeCompactionQueueSize();<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
+<span class="sourceLineNo">250</span><a name="line.250"></a>
+<span class="sourceLineNo">251</span>  @Override<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  public int getFlushQueueSize() {<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    //If there is no flusher there should be no queue.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    if (this.regionServer.cacheFlusher == null) {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      return 0;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    }<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    return this.regionServer.cacheFlusher.getFlushQueueSize();<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  }<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  @Override<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  public long getBlockCacheCount() {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    if (this.blockCache == null) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      return 0;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    return this.blockCache.getBlockCount();<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>  @Override<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  public long getBlockCacheSize() {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    if (this.blockCache == null) {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      return 0;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    return this.blockCache.getCurrentSize();<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  @Override<a name="line.276"></a>
+<span class="sourceLineNo">277</span>  public long getBlockCacheFreeSize() {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    if (this.blockCache == null) {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      return 0;<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    return this.blockCache.getFreeSize();<a name="line.281"></a>
+<span class="sourceLineNo">282</span>  }<a name="line.282"></a>
+<span class="sourceLineNo">283</span><a name="line.283"></a>
+<span class="sourceLineNo">284</span>  @Override<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public long getBlockCacheHitCount() {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    if (this.cacheStats == null) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      return 0;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    }<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    return this.cacheStats.getHitCount();<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  }<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>  @Override<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  public long getBlockCachePrimaryHitCount() {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    if (this.cacheStats == null) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      return 0;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    }<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    return this.cacheStats.getPrimaryHitCount();<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  }<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>  @Override<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  public long getBlockCacheMissCount() {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    if (this.cacheStats == null) {<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      return 0;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    return this.cacheStats.getMissCount();<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  }<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>  @Override<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  public long getBlockCachePrimaryMissCount() {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    if (this.cacheStats == null) {<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      return 0;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    return this.cacheStats.getPrimaryMissCount();<a name="line.313"></a>
+<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  public long getBlockCacheEvictedCount() {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    if (this.cacheStats == null) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      return 0;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    return this.cacheStats.getEvictedCount();<a name="line.321"></a>
+<span class="sourceLineNo">322</span>  }<a name="line.322"></a>
+<span class="sourceLineNo">323</span><a name="line.323"></a>
+<span class="sourceLineNo">324</span>  @Override<a name="line.324"></a>
+<span class="sourceLineNo">325</span>  public long getBlockCachePrimaryEvictedCount() {<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    if (this.cacheStats == null) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      return 0;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    return this.cacheStats.getPrimaryEvictedCount();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>  @Override<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  public double getBlockCacheHitPercent() {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>    if (this.cacheStats == null) {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      return 0;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    }<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    double ratio = this.cacheStats.getHitRatio();<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    if (Double.isNaN(ratio)) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>      ratio = 0;<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    }<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    return (ratio * 100);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>  }<a name="line.342"></a>
+<span class="sourceLineNo">343</span><a name="line.343"></a>
+<span class="sourceLineNo">344</span>  @Override<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  public double getBlockCacheHitCachingPercent() {<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    if (this.cacheStats == null) {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      return 0;<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    }<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>    double ratio = this.cacheStats.getHitCachingRatio();<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>    if (Double.isNaN(ratio)) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      ratio = 0;<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    }<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    return (ratio * 100);<a name="line.355"></a>
+<span class="sourceLineNo">356</span>  }<a name="line.356"></a>
+<span class="sourceLineNo">357</span><a name="line.357"></a>
+<span class="sourceLineNo">358</span>  @Override<a name="line.358"></a>
+<span class="sourceLineNo">359</span>  public long getBlockCacheFailedInsertions() {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    return this.cacheStats.getFailedInserts();<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
+<span class="sourceLineNo">362</span><a name="line.362"></a>
+<span class="sourceLineNo">363</span>  @Override public void forceRecompute() {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    this.runnable.run();<a name="line.364"></a>
+<span class="sourceLineNo">365</span>  }<a name="line.365"></a>
+<span class="sourceLineNo">366</span><a name="line.366"></a>
+<span class="sourceLineNo">367</span>  @Override<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  public long getNumStores() {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    return numStores;<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  }<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  <a name="line.371"></a>
+<span class="sourceLineNo">372</span>  @Override<a name="line.372"></a>
+<span class="sourceLineNo">373</span>  public long getNumWALFiles() {<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    return numWALFiles;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  }<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span>  @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  public long getWALFileSize() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    return walFileSize;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>  }<a name="line.380"></a>
+<span class="sourceLineNo">381</span><a name="line.381"></a>
+<span class="sourceLineNo">382</span>  @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span>  public long getNumWALSlowAppend() {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    return metricsWALSource.getSlowAppendCount();<a name="line.384"></a>
+<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>  <a name="line.386"></a>
+<span class="sourceLineNo">387</span>  @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span>  public long getNumStoreFiles() {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    return numStoreFiles;<a name="line.389"></a>
+<span class="sourceLineNo">390</span>  }<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>  @Override<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  public long getMemstoreSize() {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    return memstoreSize;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>  }<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span>  @Override<a name="line.397"></a>
+<span class="sourceLineNo">398</span>  public long getStoreFileSize() {<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    return storeFileSize;<a name="line.399"></a>
+<span class="sourceLineNo">400</span>  }<a name="line.400"></a>
+<span class="sourceLineNo">401</span><a name="line.401"></a>
+<span class="sourceLineNo">402</span>  @Override public double getRequestsPerSecond() {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    return requestsPerSecond;<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  }<a name="line.404"></a>
+<span class="sourceLineNo">405</span><a name="line.405"></a>
+<span class="sourceLineNo">406</span>  @Override<a name="line.406"></a>
+<span class="sourceLineNo">407</span>  public long getReadRequestsCount() {<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    return readRequestsCount;<a name="line.408"></a>
+<span class="sourceLineNo">409</span>  }<a name="line.409"></a>
+<span class="sourceLineNo">410</span><a name="line.410"></a>
+<span class="sourceLineNo">411</span>  @Override<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  public long getFilteredReadRequestsCount() {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    return filteredReadRequestsCount;<a name="line.413"></a>
+<span class="sourceLineNo">414</span>  }<a name="line.414"></a>
+<span class="sourceLineNo">415</span><a name="line.415"></a>
+<span class="sourceLineNo">416</span>  @Override<a name="line.416"></a>
+<span class="sourceLineNo">417</span>  public long getWriteRequestsCount() {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    return writeRequestsCount;<a name="line.418"></a>
+<span class="sourceLineNo">419</span>  }<a name="line.419"></a>
+<span class="sourceLineNo">420</span><a name="line.420"></a>
+<span class="sourceLineNo">421</span>  @Override<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  public long getCheckAndMutateChecksFailed() {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    return checkAndMutateChecksFailed;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
+<span class="sourceLineNo">425</span><a name="line.425"></a>
+<span class="sourceLineNo">426</span>  @Override<a name="line.426"></a>
+<span class="sourceLineNo">427</span>  public long getCheckAndMutateChecksPassed() {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    return checkAndMutateChecksPassed;<a name="line.428"></a>
+<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
+<span class="sourceLineNo">430</span><a name="line.430"></a>
+<span class="sourceLineNo">431</span>  @Override<a name="line.431"></a>
+<span class="sourceLineNo">432</span>  public long getStoreFileIndexSize() {<a name="line.432"></a>
+<span class="sourceLineNo">433</span>    return storefileIndexSize;<a name="line.433"></a>
+<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
+<span class="sourceLineNo">435</span><a name="line.435"></a>
+<span class="sourceLineNo">436</span>  @Override<a name="line.436"></a>
+<span class="sourceLineNo">437</span>  public long getTotalStaticIndexSize() {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    return totalStaticIndexSize;<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
+<span class="sourceLineNo">440</span><a name="line.440"></a>
+<span class="sourceLineNo">441</span>  @Override<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  public long getTotalStaticBloomSize() {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    return totalStaticBloomSize;<a name="line.443"></a>
+<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
+<span class="sourceLineNo">445</span><a name="line.445"></a>
+<span class="sourceLineNo">446</span>  @Override<a name="line.446"></a>
+<span class="sourceLineNo">447</span>  public long getNumMutationsWithoutWAL() {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    return numMutationsWithoutWAL;<a name="line.448"></a>
+<span class="sourceLineNo">449</span>  }<a name="line.449"></a>
+<span class="sourceLineNo">450</span><a name="line.450"></a>
+<span class="sourceLineNo">451</span>  @Override<a name="line.451"></a>
+<span class="sourceLineNo">452</span>  public long getDataInMemoryWithoutWAL() {<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    return dataInMemoryWithoutWAL;<a name="line.453"></a>
+<span class="sourceLineNo">454</span>  }<a name="line.454"></a>
+<span class="sourceLineNo">455</span><a name="line.455"></a>
+<span class="sourceLineNo">456</span>  @Override<a name="line.456"></a>
+<span class="sourceLineNo">457</span>  public double getPercentFileLocal() {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return percentFileLocal;<a name="line.458"></a>
+<span class="sourceLineNo">459</span>  }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>  @Override<a name="line.461"></a>
+<span class="sourceLineNo">462</span>  public double getPercentFileLocalSecondaryRegions() {<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    return percentFileLocalSecondaryRegions;<a name="line.463"></

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html
index 5acbf19..365d061 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.html
@@ -193,523 +193,526 @@
 <span class="sourceLineNo">185</span>   */<a name="line.185"></a>
 <span class="sourceLineNo">186</span>  void updateReadRequestsCount(long i);<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  /** @return write request count for this region */<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  long getWriteRequestsCount();<a name="line.189"></a>
+<span class="sourceLineNo">188</span>  /** @return filtered read requests count for this region */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  long getFilteredReadRequestsCount();<a name="line.189"></a>
 <span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  /**<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   * Update the write request count for this region<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @param i increment<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   */<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  void updateWriteRequestsCount(long i);<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  /** @return memstore size for this region, in bytes */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  long getMemstoreSize();<a name="line.198"></a>
+<span class="sourceLineNo">191</span>  /** @return write request count for this region */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  long getWriteRequestsCount();<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  /**<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * Update the write request count for this region<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @param i increment<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  void updateWriteRequestsCount(long i);<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /** @return the number of mutations processed bypassing the WAL */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  long getNumMutationsWithoutWAL();<a name="line.201"></a>
+<span class="sourceLineNo">200</span>  /** @return memstore size for this region, in bytes */<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  long getMemstoreSize();<a name="line.201"></a>
 <span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /** @return the size of data processed bypassing the WAL, in bytes */<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  long getDataInMemoryWithoutWAL();<a name="line.204"></a>
+<span class="sourceLineNo">203</span>  /** @return the number of mutations processed bypassing the WAL */<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  long getNumMutationsWithoutWAL();<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  /** @return the number of blocked requests */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  long getBlockedRequestsCount();<a name="line.207"></a>
+<span class="sourceLineNo">206</span>  /** @return the size of data processed bypassing the WAL, in bytes */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  long getDataInMemoryWithoutWAL();<a name="line.207"></a>
 <span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /** @return the number of checkAndMutate guards that passed */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  long getCheckAndMutateChecksPassed();<a name="line.210"></a>
+<span class="sourceLineNo">209</span>  /** @return the number of blocked requests */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  long getBlockedRequestsCount();<a name="line.210"></a>
 <span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>  /** @return the number of failed checkAndMutate guards */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  long getCheckAndMutateChecksFailed();<a name="line.213"></a>
+<span class="sourceLineNo">212</span>  /** @return the number of checkAndMutate guards that passed */<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  long getCheckAndMutateChecksPassed();<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /** @return the MetricsRegion for this region */<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  MetricsRegion getMetrics();<a name="line.216"></a>
+<span class="sourceLineNo">215</span>  /** @return the number of failed checkAndMutate guards */<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  long getCheckAndMutateChecksFailed();<a name="line.216"></a>
 <span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  /** @return the block distribution for all Stores managed by this region */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  HDFSBlocksDistribution getHDFSBlocksDistribution();<a name="line.219"></a>
+<span class="sourceLineNo">218</span>  /** @return the MetricsRegion for this region */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  MetricsRegion getMetrics();<a name="line.219"></a>
 <span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  // Locking<a name="line.222"></a>
+<span class="sourceLineNo">221</span>  /** @return the block distribution for all Stores managed by this region */<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  HDFSBlocksDistribution getHDFSBlocksDistribution();<a name="line.222"></a>
 <span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>  // Region read locks<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  /**<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * Operation enum is used in {@link Region#startRegionOperation} and elsewhere to provide<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   * context for various checks.<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   */<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  enum Operation {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    ANY, GET, PUT, DELETE, SCAN, APPEND, INCREMENT, SPLIT_REGION, MERGE_REGION, BATCH_MUTATE,<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    REPLAY_BATCH_MUTATE, COMPACT_REGION, REPLAY_EVENT<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * This method needs to be called before any public call that reads or<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * modifies data.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * the operation has completed, whether it succeeded or failed.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @throws IOException<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  void startRegionOperation() throws IOException;<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /**<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * This method needs to be called before any public call that reads or<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * modifies data.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * the operation has completed, whether it succeeded or failed.<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @param op The operation is about to be taken on the region<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @throws IOException<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  void startRegionOperation(Operation op) throws IOException;<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * Closes the region operation lock.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  void closeRegionOperation() throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // Row write locks<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  /**<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   * Row lock held by a given thread.<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * One thread may acquire multiple locks on the same row simultaneously.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   * The locks must be released by calling release() from the same thread.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>   */<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  public interface RowLock {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    /**<a name="line.270"></a>
-<span class="sourceLineNo">271</span>     * Release the given lock.  If there are no remaining locks held by the current thread<a name="line.271"></a>
-<span class="sourceLineNo">272</span>     * then unlock the row and allow other threads to acquire the lock.<a name="line.272"></a>
-<span class="sourceLineNo">273</span>     * @throws IllegalArgumentException if called by a different thread than the lock owning<a name="line.273"></a>
-<span class="sourceLineNo">274</span>     *     thread<a name="line.274"></a>
-<span class="sourceLineNo">275</span>     */<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    void release();<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  }<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * Tries to acquire a lock on the given row.<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @param waitForLock if true, will block until the lock is available.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   *        Otherwise, just tries to obtain the lock and returns<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   *        false if unavailable.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @return the row lock if acquired,<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   *   null if waitForLock was false and the lock was not acquired<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @throws IOException if waitForLock was true and the lock could not be acquired after waiting<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  RowLock getRowLock(byte[] row, boolean waitForLock) throws IOException;<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  /**<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * If the given list of row locks is not null, releases all locks.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  void releaseRowLocks(List&lt;RowLock&gt; rowLocks);<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  // Region operations<a name="line.296"></a>
+<span class="sourceLineNo">224</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  // Locking<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  // Region read locks<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * Operation enum is used in {@link Region#startRegionOperation} and elsewhere to provide<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * context for various checks.<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  enum Operation {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    ANY, GET, PUT, DELETE, SCAN, APPEND, INCREMENT, SPLIT_REGION, MERGE_REGION, BATCH_MUTATE,<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    REPLAY_BATCH_MUTATE, COMPACT_REGION, REPLAY_EVENT<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  /**<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * This method needs to be called before any public call that reads or<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * modifies data.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * the operation has completed, whether it succeeded or failed.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @throws IOException<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   */<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  void startRegionOperation() throws IOException;<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>  /**<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   * This method needs to be called before any public call that reads or<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * modifies data.<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * the operation has completed, whether it succeeded or failed.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @param op The operation is about to be taken on the region<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @throws IOException<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  void startRegionOperation(Operation op) throws IOException;<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>  /**<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * Closes the region operation lock.<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   * @throws IOException<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  void closeRegionOperation() throws IOException;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  // Row write locks<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * Row lock held by a given thread.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * One thread may acquire multiple locks on the same row simultaneously.<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * The locks must be released by calling release() from the same thread.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  public interface RowLock {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    /**<a name="line.273"></a>
+<span class="sourceLineNo">274</span>     * Release the given lock.  If there are no remaining locks held by the current thread<a name="line.274"></a>
+<span class="sourceLineNo">275</span>     * then unlock the row and allow other threads to acquire the lock.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>     * @throws IllegalArgumentException if called by a different thread than the lock owning<a name="line.276"></a>
+<span class="sourceLineNo">277</span>     *     thread<a name="line.277"></a>
+<span class="sourceLineNo">278</span>     */<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    void release();<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Tries to acquire a lock on the given row.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * @param waitForLock if true, will block until the lock is available.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   *        Otherwise, just tries to obtain the lock and returns<a name="line.285"></a>
+<span class="sourceLineNo">286</span>   *        false if unavailable.<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * @return the row lock if acquired,<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   *   null if waitForLock was false and the lock was not acquired<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * @throws IOException if waitForLock was true and the lock could not be acquired after waiting<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  RowLock getRowLock(byte[] row, boolean waitForLock) throws IOException;<a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * If the given list of row locks is not null, releases all locks.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  void releaseRowLocks(List&lt;RowLock&gt; rowLocks);<a name="line.296"></a>
 <span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * Perform one or more append operations on a row.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param append<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @param nonceGroup<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * @param nonce<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @return result of the operation<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @throws IOException<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  Result append(Append append, long nonceGroup, long nonce) throws IOException;<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * Perform a batch of mutations.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * &lt;p&gt;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Note this supports only Put and Delete mutations and will ignore other types passed.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * @param mutations the list of mutations<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * @param nonceGroup<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * @param nonce<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * @return an array of OperationStatus which internally contains the<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * @throws IOException<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   */<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  OperationStatus[] batchMutate(Mutation[] mutations, long nonceGroup, long nonce)<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      throws IOException;<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * Replay a batch of mutations.<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param mutations mutations to replay.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @param replaySeqId<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * @return an array of OperationStatus which internally contains the<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * @throws IOException<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   */<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   OperationStatus[] batchReplay(MutationReplay[] mutations, long replaySeqId) throws IOException;<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * Atomically checks if a row/family/qualifier value matches the expected value and if it does,<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * it performs the mutation. If the passed value is null, the lack of column value<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * (ie: non-existence) is used. See checkAndRowMutate to do many checkAndPuts at a time on a<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * single row.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * @param row to check<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   * @param family column family to check<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @param qualifier column qualifier to check<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param compareOp the comparison operator<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @param comparator<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @param mutation<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * @param writeToWAL<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * @return true if mutation was applied, false otherwise<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   * @throws IOException<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   */<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  boolean checkAndMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      ByteArrayComparable comparator, Mutation mutation, boolean writeToWAL) throws IOException;<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   * Atomically checks if a row/family/qualifier value matches the expected values and if it does,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>   * it performs the row mutations. If the passed value is null, the lack of column value<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * (ie: non-existence) is used. Use to do many mutations on a single row. Use checkAndMutate<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   * to do one checkAndMutate at a time.<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * @param row to check<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * @param family column family to check<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * @param qualifier column qualifier to check<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * @param compareOp the comparison operator<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * @param comparator<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param mutations<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param writeToWAL<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return true if mutations were applied, false otherwise<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @throws IOException<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   */<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  boolean checkAndRowMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      ByteArrayComparable comparator, RowMutations mutations, boolean writeToWAL)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throws IOException;<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>  /**<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * Deletes the specified cells/row.<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @param delete<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @throws IOException<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  void delete(Delete delete) throws IOException;<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  /**<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * Do a get based on the get parameter.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * @param get query parameters<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @return result of the operation<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   */<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  Result get(Get get) throws IOException;<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  /**<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   * Do a get based on the get parameter.<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * @param get query parameters<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * @param withCoprocessor invoke coprocessor or not. We don't want to<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * always invoke cp.<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * @return list of cells resulting from the operation<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  List&lt;Cell&gt; get(Get get, boolean withCoprocessor) throws IOException;<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span>  /**<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * Return an iterator that scans over the HRegion, returning the indicated<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * columns and rows specified by the {@link Scan}.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * &lt;p&gt;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * This Iterator must be closed by the caller.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   *<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * @param scan configured {@link Scan}<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * @return RegionScanner<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @throws IOException read exceptions<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  RegionScanner getScanner(Scan scan) throws IOException;<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>   * Return an iterator that scans over the HRegion, returning the indicated columns and rows<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * specified by the {@link Scan}. The scanner will also include the additional scanners passed<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * along with the scanners for the specified Scan instance. Should be careful with the usage to<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * pass additional scanners only within this Region<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * &lt;p&gt;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * This Iterator must be closed by the caller.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   *<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * @param scan configured {@link Scan}<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * @param additionalScanners Any additional scanners to be used<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * @return RegionScanner<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * @throws IOException read exceptions<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   */<a name="line.416"></a>
-<span class="sourceLineNo">417</span>  RegionScanner getScanner(Scan scan, List&lt;KeyValueScanner&gt; additionalScanners) throws IOException;<a name="line.417"></a>
-<span class="sourceLineNo">418</span><a name="line.418"></a>
-<span class="sourceLineNo">419</span>  /** The comparator to be used with the region */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  CellComparator getCellCompartor();<a name="line.420"></a>
+<span class="sourceLineNo">298</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  // Region operations<a name="line.299"></a>
+<span class="sourceLineNo">300</span><a name="line.300"></a>
+<span class="sourceLineNo">301</span>  /**<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   * Perform one or more append operations on a row.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   * @param append<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   * @param nonceGroup<a name="line.304"></a>
+<span class="sourceLineNo">305</span>   * @param nonce<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * @return result of the operation<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * @throws IOException<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   */<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  Result append(Append append, long nonceGroup, long nonce) throws IOException;<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>  /**<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * Perform a batch of mutations.<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * &lt;p&gt;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * Note this supports only Put and Delete mutations and will ignore other types passed.<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @param mutations the list of mutations<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * @param nonceGroup<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   * @param nonce<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * @return an array of OperationStatus which internally contains the<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.319"></a>
+<span class="sourceLineNo">320</span>   * @throws IOException<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   */<a name="line.321"></a>
+<span class="sourceLineNo">322</span>  OperationStatus[] batchMutate(Mutation[] mutations, long nonceGroup, long nonce)<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      throws IOException;<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  /**<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * Replay a batch of mutations.<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @param mutations mutations to replay.<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * @param replaySeqId<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   * @return an array of OperationStatus which internally contains the<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * @throws IOException<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   OperationStatus[] batchReplay(MutationReplay[] mutations, long replaySeqId) throws IOException;<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * Atomically checks if a row/family/qualifier value matches the expected value and if it does,<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * it performs the mutation. If the passed value is null, the lack of column value<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * (ie: non-existence) is used. See checkAndRowMutate to do many checkAndPuts at a time on a<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * single row.<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @param row to check<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * @param family column family to check<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * @param qualifier column qualifier to check<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   * @param compareOp the comparison operator<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * @param comparator<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * @param mutation<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   * @param writeToWAL<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   * @return true if mutation was applied, false otherwise<a name="line.347"></a>
+<span class="sourceLineNo">348</span>   * @throws IOException<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   */<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  boolean checkAndMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      ByteArrayComparable comparator, Mutation mutation, boolean writeToWAL) throws IOException;<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>  /**<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   * Atomically checks if a row/family/qualifier value matches the expected values and if it does,<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * it performs the row mutations. If the passed value is null, the lack of column value<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   * (ie: non-existence) is used. Use to do many mutations on a single row. Use checkAndMutate<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   * to do one checkAndMutate at a time.<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   * @param row to check<a name="line.358"></a>
+<span class="sourceLineNo">359</span>   * @param family column family to check<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   * @param qualifier column qualifier to check<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * @param compareOp the comparison operator<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * @param comparator<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * @param mutations<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * @param writeToWAL<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @return true if mutations were applied, false otherwise<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @throws IOException<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  boolean checkAndRowMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      ByteArrayComparable comparator, RowMutations mutations, boolean writeToWAL)<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      throws IOException;<a name="line.370"></a>
+<span class="sourceLineNo">371</span><a name="line.371"></a>
+<span class="sourceLineNo">372</span>  /**<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * Deletes the specified cells/row.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * @param delete<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * @throws IOException<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   */<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  void delete(Delete delete) throws IOException;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>  /**<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * Do a get based on the get parameter.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * @param get query parameters<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @return result of the operation<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   */<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  Result get(Get get) throws IOException;<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  /**<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * Do a get based on the get parameter.<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   * @param get query parameters<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * @param withCoprocessor invoke coprocessor or not. We don't want to<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * always invoke cp.<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   * @return list of cells resulting from the operation<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   */<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  List&lt;Cell&gt; get(Get get, boolean withCoprocessor) throws IOException;<a name="line.393"></a>
+<span class="sourceLineNo">394</span><a name="line.394"></a>
+<span class="sourceLineNo">395</span>  /**<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * Return an iterator that scans over the HRegion, returning the indicated<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   * columns and rows specified by the {@link Scan}.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * &lt;p&gt;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * This Iterator must be closed by the caller.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   *<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * @param scan configured {@link Scan}<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * @return RegionScanner<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   * @throws IOException read exceptions<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   */<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  RegionScanner getScanner(Scan scan) throws IOException;<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  /**<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * Return an iterator that scans over the HRegion, returning the indicated columns and rows<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * specified by the {@link Scan}. The scanner will also include the additional scanners passed<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * along with the scanners for the specified Scan instance. Should be careful with the usage to<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * pass additional scanners only within this Region<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   * &lt;p&gt;<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * This Iterator must be closed by the caller.<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   *<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   * @param scan configured {@link Scan}<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * @param additionalScanners Any additional scanners to be used<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * @return RegionScanner<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @throws IOException read exceptions<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  RegionScanner getScanner(Scan scan, List&lt;KeyValueScanner&gt; additionalScanners) throws IOException;<a name="line.420"></a>
 <span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  /**<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   * Perform one or more increment operations on a row.<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * @param increment<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * @param nonceGroup<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param nonce<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @return result of the operation<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @throws IOException<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  Result increment(Increment increment, long nonceGroup, long nonce) throws IOException;<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Performs multiple mutations atomically on a single row. Currently<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * {@link Put} and {@link Delete} are supported.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   *<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * @param mutations object that specifies the set of mutations to perform atomically<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * @throws IOException<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   */<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  void mutateRow(RowMutations mutations) throws IOException;<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>   * Perform atomic mutations within the region.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   *<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * @param mutations The list of mutations to perform.<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * &lt;code&gt;mutations&lt;/code&gt; can contain operations for multiple rows.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Caller has to ensure that all rows are contained in this region.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * @param rowsToLock Rows to lock<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   * If multiple rows are locked care should be taken that<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   * &lt;code&gt;rowsToLock&lt;/code&gt; is sorted in order to avoid deadlocks.<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   * @throws IOException<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   */<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  void mutateRowsWithLocks(Collection&lt;Mutation&gt; mutations, Collection&lt;byte[]&gt; rowsToLock,<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      long nonceGroup, long nonce) throws IOException;<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>   * Performs atomic multiple reads and writes on a given row.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   *<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * @param processor The object defines the reads and writes to a row.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   */<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor) throws IOException;<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>  /**<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   *<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * @param processor The object defines the reads and writes to a row.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long nonceGroup, long nonce)<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      throws IOException;<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>  /**<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   *<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * @param processor The object defines the reads and writes to a row.<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @param timeout The timeout of the processor.process() execution<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   *                Use a negative number to switch off the time bound<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long timeout, long nonceGroup, long nonce)<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      throws IOException;<a name="line.484"></a>
-<span class="sourceLineNo">485</span><a name="line.485"></a>
-<span class="sourceLineNo">486</span>  /**<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * Puts some data in the table.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @param put<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * @throws IOException<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   */<a name="line.490"></a>
-<span class="sourceLineNo">491</span>  void put(Put put) throws IOException;<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>  /**<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * Listener class to enable callers of<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * bulkLoadHFile() to perform any necessary<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   * pre/post processing of a given bulkload call<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   */<a name="line.497"></a>
-<span class="sourceLineNo">498</span>  interface BulkLoadListener {<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>     * Called before an HFile is actually loaded<a name="line.501"></a>
-<span class="sourceLineNo">502</span>     * @param family family being loaded to<a name="line.502"></a>
-<span class="sourceLineNo">503</span>     * @param srcPath path of HFile<a name="line.503"></a>
-<span class="sourceLineNo">504</span>     * @return final path to be used for actual loading<a name="line.504"></a>
-<span class="sourceLineNo">505</span>     * @throws IOException<a name="line.505"></a>
-<span class="sourceLineNo">506</span>     */<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    String prepareBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>    /**<a name="line.509"></a>
-<span class="sourceLineNo">510</span>     * Called after a successful HFile load<a name="line.510"></a>
-<span class="sourceLineNo">511</span>     * @param family family being loaded to<a name="line.511"></a>
-<span class="sourceLineNo">512</span>     * @param srcPath path of HFile<a name="line.512"></a>
-<span class="sourceLineNo">513</span>     * @throws IOException<a name="line.513"></a>
-<span class="sourceLineNo">514</span>     */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    void doneBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    /**<a name="line.517"></a>
-<span class="sourceLineNo">518</span>     * Called after a failed HFile load<a name="line.518"></a>
-<span class="sourceLineNo">519</span>     * @param family family being loaded to<a name="line.519"></a>
-<span class="sourceLineNo">520</span>     * @param srcPath path of HFile<a name="line.520"></a>
-<span class="sourceLineNo">521</span>     * @throws IOException<a name="line.521"></a>
-<span class="sourceLineNo">522</span>     */<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    void failedBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>  }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>  /**<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * Attempts to atomically load a group of hfiles.  This is critical for loading<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * rows with multiple column families atomically.<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   *<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param familyPaths List of Pair&amp;lt;byte[] column family, String hfilePath&amp;gt;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param bulkLoadListener Internal hooks enabling massaging/preparation of a<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * file about to be bulk loaded<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @param assignSeqId<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   * @return true if successful, false if failed recoverably<a name="line.534"></a>
-<span class="sourceLineNo">535</span>   * @throws IOException if failed unrecoverably.<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   */<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  boolean bulkLoadHFiles(Collection&lt;Pair&lt;byte[], String&gt;&gt; familyPaths, boolean assignSeqId,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      BulkLoadListener bulkLoadListener) throws IOException;<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.540"></a>
-<span class="sourceLineNo">541</span>  // Coprocessors<a name="line.541"></a>
+<span class="sourceLineNo">422</span>  /** The comparator to be used with the region */<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  CellComparator getCellCompartor();<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>  /**<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * Perform one or more increment operations on a row.<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * @param increment<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * @param nonceGroup<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * @param nonce<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * @return result of the operation<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * @throws IOException<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   */<a name="line.432"></a>
+<span class="sourceLineNo">433</span>  Result increment(Increment increment, long nonceGroup, long nonce) throws IOException;<a name="line.433"></a>
+<span class="sourceLineNo">434</span><a name="line.434"></a>
+<span class="sourceLineNo">435</span>  /**<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * Performs multiple mutations atomically on a single row. Currently<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * {@link Put} and {@link Delete} are supported.<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   *<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   * @param mutations object that specifies the set of mutations to perform atomically<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   * @throws IOException<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   */<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  void mutateRow(RowMutations mutations) throws IOException;<a name="line.442"></a>
+<span class="sourceLineNo">443</span><a name="line.443"></a>
+<span class="sourceLineNo">444</span>  /**<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * Perform atomic mutations within the region.<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   *<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   * @param mutations The list of mutations to perform.<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   * &lt;code&gt;mutations&lt;/code&gt; can contain operations for multiple rows.<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   * Caller has to ensure that all rows are contained in this region.<a name="line.449"></a>
+<span class="sourceLineNo">450</span>   * @param rowsToLock Rows to lock<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.451"></a>
+<span class="sourceLineNo">452</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * If multiple rows are locked care should be taken that<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * &lt;code&gt;rowsToLock&lt;/code&gt; is sorted in order to avoid deadlocks.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   * @throws IOException<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   */<a name="line.456"></a>
+<span class="sourceLineNo">457</span>  void mutateRowsWithLocks(Collection&lt;Mutation&gt; mutations, Collection&lt;byte[]&gt; rowsToLock,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      long nonceGroup, long nonce) throws IOException;<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>   * Performs atomic multiple reads and writes on a given row.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   *<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   * @param processor The object defines the reads and writes to a row.<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   */<a name="line.464"></a>
+<span class="sourceLineNo">465</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor) throws IOException;<a name="line.465"></a>
+<span class="sourceLineNo">466</span><a name="line.466"></a>
+<span class="sourceLineNo">467</span>  /**<a name="line.467"></a>
+<span class="sourceLineNo">468</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.468"></a>
+<span class="sourceLineNo">469</span>   *<a name="line.469"></a>
+<span class="sourceLineNo">470</span>   * @param processor The object defines the reads and writes to a row.<a name="line.470"></a>
+<span class="sourceLineNo">471</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   */<a name="line.473"></a>
+<span class="sourceLineNo">474</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long nonceGroup, long nonce)<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      throws IOException;<a name="line.475"></a>
+<span class="sourceLineNo">476</span><a name="line.476"></a>
+<span class="sourceLineNo">477</span>  /**<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   *<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * @param processor The object defines the reads and writes to a row.<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   * @param timeout The timeout of the processor.process() execution<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   *                Use a negative number to switch off the time bound<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.483"></a>
+<span class="sourceLineNo">484</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.484"></a>
+<span class="sourceLineNo">485</span>   */<a name="line.485"></a>
+<span class="sourceLineNo">486</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long timeout, long nonceGroup, long nonce)<a name="line.486"></a>
+<span class="sourceLineNo">487</span>      throws IOException;<a name="line.487"></a>
+<span class="sourceLineNo">488</span><a name="line.488"></a>
+<span class="sourceLineNo">489</span>  /**<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * Puts some data in the table.<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * @param put<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * @throws IOException<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   */<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  void put(Put put) throws IOException;<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>  /**<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * Listener class to enable callers of<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * bulkLoadHFile() to perform any necessary<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * pre/post processing of a given bulkload call<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
+<span class="sourceLineNo">501</span>  interface BulkLoadListener {<a name="line.501"></a>
+<span class="sourceLineNo">502</span><a name="line.502"></a>
+<span class="sourceLineNo">503</span>    /**<a name="line.503"></a>
+<span class="sourceLineNo">504</span>     * Called before an HFile is actually loaded<a name="line.504"></a>
+<span class="sourceLineNo">505</span>     * @param family family being loaded to<a name="line.505"></a>
+<span class="sourceLineNo">506</span>     * @param srcPath path of HFile<a name="line.506"></a>
+<span class="sourceLineNo">507</span>     * @return final path to be used for actual loading<a name="line.507"></a>
+<span class="sourceLineNo">508</span>     * @throws IOException<a name="line.508"></a>
+<span class="sourceLineNo">509</span>     */<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    String prepareBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.510"></a>
+<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">512</span>    /**<a name="line.512"></a>
+<span class="sourceLineNo">513</span>     * Called after a successful HFile load<a name="line.513"></a>
+<span class="sourceLineNo">514</span>     * @param family family being loaded to<a name="line.514"></a>
+<span class="sourceLineNo">515</span>     * @param srcPath path of HFile<a name="line.515"></a>
+<span class="sourceLineNo">516</span>     * @throws IOException<a name="line.516"></a>
+<span class="sourceLineNo">517</span>     */<a name="line.517"></a>
+<span class="sourceLineNo">518</span>    void doneBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.518"></a>
+<span class="sourceLineNo">519</span><a name="line.519"></a>
+<span class="sourceLineNo">520</span>    /**<a name="line.520"></a>
+<span class="sourceLineNo">521</span>     * Called after a failed HFile load<a name="line.521"></a>
+<span class="sourceLineNo">522</span>     * @param family family being loaded to<a name="line.522"></a>
+<span class="sourceLineNo">523</span>     * @param srcPath path of HFile<a name="line.523"></a>
+<span class="sourceLineNo">524</span>     * @throws IOException<a name="line.524"></a>
+<span class="sourceLineNo">525</span>     */<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    void failedBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.526"></a>
+<span class="sourceLineNo">527</span>  }<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span>  /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * Attempts to atomically load a group of hfiles.  This is critical for loading<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   * rows with multiple column families atomically.<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   *<a name="line.532"></a>
+<span class="sourceLineNo">533</span>   * @param familyPaths List of Pair&amp;lt;byte[] column family, String hfilePath&amp;gt;<a name="line.533"></a>
+<span class="sourceLineNo">534</span>   * @param bulkLoadListener Internal hooks enabling massaging/preparation of a<a name="line.534"></a>
+<span class="sourceLineNo">535</span>   * file about to be bulk loaded<a name="line.535"></a>
+<span class="sourceLineNo">536</span>   * @param assignSeqId<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   * @return true if successful, false if failed recoverably<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @throws IOException if failed unrecoverably.<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   */<a name="line.539"></a>
+<span class="sourceLineNo">540</span>  boolean bulkLoadHFiles(Collection&lt;Pair&lt;byte[], String&gt;&gt; familyPaths, boolean assignSeqId,<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      BulkLoadListener bulkLoadListener) throws IOException;<a name="line.541"></a>
 <span class="sourceLineNo">542</span><a name="line.542"></a>
-<span class="sourceLineNo">543</span>  /** @return the coprocessor host */<a name="line.543"></a>
-<span class="sourceLineNo">544</span>  RegionCoprocessorHost getCoprocessorHost();<a name="line.544"></a>
+<span class="sourceLineNo">543</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.543"></a>
+<span class="sourceLineNo">544</span>  // Coprocessors<a name="line.544"></a>
 <span class="sourceLineNo">545</span><a name="line.545"></a>
-<span class="sourceLineNo">546</span>  /**<a name="line.546"></a>
-<span class="sourceLineNo">547</span>   * Executes a single protocol buffer coprocessor endpoint {@link Service} method using<a name="line.547"></a>
-<span class="sourceLineNo">548</span>   * the registered protocol handlers.  {@link Service} implementations must be registered via the<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * {@link Region#registerService(com.google.protobuf.Service)}<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * method before they are available.<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   *<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   * @param controller an {@code RpcContoller} implementation to pass to the invoked service<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param call a {@code CoprocessorServiceCall} instance identifying the service, method,<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   *     and parameters for the method invocation<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * @return a protocol buffer {@code Message} instance containing the method's result<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @throws IOException if no registered service handler is found or an error<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   *     occurs during the invocation<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @see org.apache.hadoop.hbase.regionserver.Region#registerService(com.google.protobuf.Service)<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  Message execService(RpcController controller, CoprocessorServiceCall call) throws IOException;<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  /**<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   * Registers a new protocol buffer {@link Service} subclass as a coprocessor endpoint to<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * be available for handling<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * {@link Region#execService(com.google.protobuf.RpcController,<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   *    org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)}} calls.<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   *<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * &lt;p&gt;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * Only a single instance may be registered per region for a given {@link Service} subclass (the<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * instances are keyed on {@link com.google.protobuf.Descriptors.ServiceDescriptor#getFullName()}.<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * After the first registration, subsequent calls with the same service name will fail with<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   * a return value of {@code false}.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   * &lt;/p&gt;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>   * @param instance the {@code Service} subclass instance to expose as a coprocessor endpoint<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   * @return {@code true} if the registration was successful, {@code false}<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   * otherwise<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   */<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  boolean registerService(Service instance);<a name="line.578"></a>
-<span class="sourceLineNo">579</span><a name="line.579"></a>
-<span class="sourceLineNo">580</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.580"></a>
-<span class="sourceLineNo">581</span>  // RowMutation processor support<a name="line.581"></a>
+<span class="sourceLineNo">546</span>  /** @return the coprocessor host */<a name="line.546"></a>
+<span class="sourceLineNo">547</span>  RegionCoprocessorHost getCoprocessorHost();<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>  /**<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * Executes a single protocol buffer coprocessor endpoint {@link Service} method using<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * the registered protocol handlers.  {@link Service} implementations must be registered via the<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   * {@link Region#registerService(com.google.protobuf.Service)}<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   * method before they are available.<a name="line.553"></a>
+<span class="sourceLineNo">554</span>   *<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   * @param controller an {@code RpcContoller} implementation to pass to the invoked service<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   * @param call a {@code CoprocessorServiceCall} instance identifying the service, method,<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   *     and parameters for the method invocation<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   * @return a protocol buffer {@code Message} instance containing the method's result<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   * @throws IOException if no registered service handler is found or an error<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   *     occurs during the invocation<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   * @see org.apache.hadoop.hbase.regionserver.Region#registerService(com.google.protobuf.Service)<a name="line.561"></a>
+<span class="sourceLineNo">562</span>   */<a name="line.562"></a>
+<span class="sourceLineNo">563</span>  Message execService(RpcController controller, CoprocessorServiceCall call) throws IOException;<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span>  /**<a name="line.565"></a>
+<span class="sourceLineNo">566</span>   * Registers a new protocol buffer {@link Service} subclass as a coprocessor endpoint to<a name="line.566"></a>
+<span class="sourceLineNo">567</span>   * be available for handling<a name="line.567"></a>
+<span class="sourceLineNo">568</span>   * {@link Region#execService(com.google.protobuf.RpcController,<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   *    org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)}} calls.<a name="line.569"></a>
+<span class="sourceLineNo">570</span>   *<a name="line.570"></a>
+<span class="sourceLineNo">571</span>   * &lt;p&gt;<a name="line.571"></a>
+<span class="sourceLineNo">572</span>   * Only a single instance may be registered per region for a given {@link Service} subclass (the<a name="line.572"></a>
+<span class="sourceLineNo">573</span>   * instances are keyed on {@link com.google.protobuf.Descriptors.ServiceDescriptor#getFullName()}.<a name="line.573"></a>
+<span class="sourceLineNo">574</span>   * After the first registration, subsequent calls with the same service name will fail with<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   * a return value of {@code false}.<a name="line.575"></a>
+<span class="sourceLineNo">576</span>   * &lt;/p&gt;<a name="line.576"></a>
+<span class="sourceLineNo">577</span>   * @param instance the {@code Service} subclass instance to expose as a coprocessor endpoint<a name="line.577"></a>
+<span class="sourceLineNo">578</span>   * @return {@code true} if the registration was successful, {@code false}<a name="line.578"></a>
+<span class="sourceLineNo">579</span>   * otherwise<a name="line.579"></a>
+<span class="sourceLineNo">580</span>   */<a name="line.580"></a>
+<span class="sourceLineNo">581</span>  boolean registerService(Service instance);<a name="line.581"></a>
 <span class="sourceLineNo">582</span><a name="line.582"></a>
-<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * Check the collection of families for validity.<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   * @param families<a name="line.585"></a>
-<span class="sourceLineNo">586</span>   * @throws NoSuchColumnFamilyException<a name="line.586"></a>
-<span class="sourceLineNo">587</span>   */<a name="line.587"></a>
-<span class="sourceLineNo">588</span>  void checkFamilies(Collection&lt;byte[]&gt; families) throws NoSuchColumnFamilyException;<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>  /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * Check the collection of families for valid timestamps<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * @param familyMap<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   * @param now current timestamp<a name="line.593"></a>
-<span class="sourceLineNo">594</span>   * @throws FailedSanityCheckException<a name="line.594"></a>
-<span class="sourceLineNo">595</span>   */<a name="line.595"></a>
-<span class="sourceLineNo">596</span>  void checkTimestamps(Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, long now)<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      throws FailedSanityCheckException;<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Prepare a delete for a row mutation processor<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   * @param delete The passed delete is modified by this method. WARNING!<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * @throws IOException<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   */<a name="line.603"></a>
-<span class="sourceLineNo">604</span>  void prepareDelete(Delete delete) throws IOException;<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>  /**<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * Set up correct timestamps in the KVs in Delete object.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * &lt;p&gt;Caller should have the row and region locks.<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * @param mutation<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * @param familyCellMap<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * @param now<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * @throws IOException<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   */<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  void prepareDeleteTimestamps(Mutation mutation, Map&lt;byte[], List&lt;Cell&gt;&gt; familyCellMap,<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      byte[] now) throws IOException;<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>  /**<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * Replace any cell timestamps set to {@link org.apache.hadoop.hbase.HConstants#LATEST_TIMESTAMP}<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * provided current timestamp.<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @param values<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @param now<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  void updateCellTimestamps(final Iterable&lt;List&lt;Cell&gt;&gt; values, final byte[] now)<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      throws IOException;<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.626"></a>
-<span class="sourceLineNo">627</span>  // Flushes, compactions, splits, etc.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>  // Wizards only, please<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>  interface FlushResult {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    enum Result {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      FLUSHED_NO_COMPACTION_NEEDED,<a name="line.632"></a>
-<span class="sourceLineNo">633</span>      FLUSHED_COMPACTION_NEEDED,<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      // Special case where a flush didn't run because there's nothing in the memstores. Used when<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      // bulk loading to know when we can still load even if a flush didn't happen.<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      CANNOT_FLUSH_MEMSTORE_EMPTY,<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      CANNOT_FLUSH<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    }<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>    /** @return the detailed result code */<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    Result getResult();<a name="line.641"></a>
+<span class="sourceLineNo">583</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.583"></a>
+<span class="sourceLineNo">584</span>  // RowMutation processor support<a name="line.584"></a>
+<span class="sourceLineNo">585</span><a name="line.585"></a>
+<span class="sourceLineNo">586</span>  /**<a name="line.586"></a>
+<span class="sourceLineNo">587</span>   * Check the collection of families for validity.<a name="line.587"></a>
+<span class="sourceLineNo">588</span>   * @param families<a name="line.588"></a>
+<span class="sourceLineNo">589</span>   * @throws NoSuchColumnFamilyException<a name="line.589"></a>
+<span class="sourceLineNo">590</span>   */<a name="line.590"></a>
+<span class="sourceLineNo">591</span>  void checkFamilies(Collection&lt;byte[]&gt; families) throws NoSuchColumnFamilyException;<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span>  /**<a name="line.593"></a>
+<span class="sourceLineNo">594</span>   * Check the collection of families for valid timestamps<a name="line.594"></a>
+<span class="sourceLineNo">595</span>   * @param familyMap<a name="line.595"></a>
+<span class="sourceLineNo">596</span>   * @param now current timestamp<a name="line.596"></a>
+<span class="sourceLineNo">597</span>   * @throws FailedSanityCheckException<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   */<a name="line.598"></a>
+<span class="sourceLineNo">599</span>  void checkTimestamps(Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, long now)<a name="line.599"></a>
+<span class="sourceLineNo">600</span>      throws FailedSanityCheckException;<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span>  /**<a name="line.602"></a>
+<span class="sourceLineNo">603</span>   * Prepare a delete for a row mutation processor<a name="line.603"></a>
+<span class="sourceLineNo">604</span>   * @param delete The passed delete is modified by this method. WARNING!<a name="line.604"></a>
+<span class="sourceLineNo">605</span>   * @throws IOException<a name="line.605"></a>
+<span class="sourceLineNo">606</span>   */<a name="line.606"></a>
+<span class="sourceLineNo">607</span>  void prepareDelete(Delete delete) throws IOException;<a name="line.607"></a>
+<span class="sourceLineNo">608</span><a name="line.608"></a>
+<span class="sourceLineNo">609</span>  /**<a name="line.609"></a>
+<span class="sourceLineNo">610</span>   * Set up correct timestamps in the KVs in Delete object.<a name="line.610"></a>
+<span class="sourceLineNo">611</span>   * &lt;p&gt;Caller should have the row and region locks.<a name="line.611"></a>
+<span class="sourceLineNo">612</span>   * @param mutation<a name="line.612"></a>
+<span class="sourceLineNo">613</span>   * @param familyCellMap<a name="line.613"></a>
+<span class="sourceLineNo">614</span>   * @param now<a name="line.614"></a>
+<span class="sourceLineNo">615</span>   * @throws IOException<a name="line.615"></a>
+<span class="sourceLineNo">616</span>   */<a name="line.616"></a>
+<span class="sourceLineNo">617</span>  void prepareDeleteTimestamps(Mutation mutation, Map&lt;byte[], List&lt;Cell&gt;&gt; familyCellMap,<a name="line.617"></a>
+<span class="sourceLineNo">618</span>      byte[] now) throws IOException;<a name="line.618"></a>
+<span class="sourceLineNo">619</span><a name="line.619"></a>
+<span class="sourceLineNo">620</span>  /**<a name="line.620"></a>
+<span class="sourceLineNo">621</span>   * Replace any cell timestamps set to {@link org.apache.hadoop.hbase.HConstants#LATEST_TIMESTAMP}<a name="line.621"></a>
+<span class="sourceLineNo">622</span>   * provided current timestamp.<a name="line.622"></a>
+<span class="sourceLineNo">623</span>   * @param values<a name="line.623"></a>
+<span class="sourceLineNo">624</span>   * @param now<a name="line.624"></a>
+<span class="sourceLineNo">625</span>   */<a name="line.625"></a>
+<span class="sourceLineNo">626</span>  void updateCellTimestamps(final Iterable&lt;List&lt;Cell&gt;&gt; values, final byte[] now)<a name="line.626"></a>
+<span class="sourceLineNo">627</span>      throws IOException;<a name="line.627"></a>
+<span class="sourceLineNo">628</span><a name="line.628"></a>
+<span class="sourceLineNo">629</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.629"></a>
+<span class="sourceLineNo">630</span>  // Flushes, compactions, splits, etc.<a name="line.630"></a>
+<span class="sourceLineNo">631</span>  // Wizards only, please<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>  interface FlushResult {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>    enum Result {<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      FLUSHED_NO_COMPACTION_NEEDED,<a name="line.635"></a>
+<span class="sourceLineNo">636</span>      FLUSHED_COMPACTION_NEEDED,<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      // Special case where a flush didn't run because there's nothing in the memstores. Used when<a name="line.637"></a>
+<span class="sourceLineNo">638</span>      // bulk loading to know when we can still load even if a flush didn't happen.<a name="line.638"></a>
+<span class="sourceLineNo">639</span>      CANNOT_FLUSH_MEMSTORE_EMPTY,<a name="line.639"></a>
+<span class="sourceLineNo">640</span>      CANNOT_FLUSH<a name="line.640"></a>
+<span class="sourceLineNo">641</span>    }<a name="line.641"></a>
 <span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>    /** @return true if the memstores were flushed, else false */<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    boolean isFlushSucceeded();<a name="line.644"></a>
+<span class="sourceLineNo">643</span>    /** @return the de

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
index 03e1a97..7846373 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
@@ -320,36 +320,40 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getEarliestFlushTimeForAllStores()">getEarliestFlushTimeForAllStores</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getHDFSBlocksDistribution()">getHDFSBlocksDistribution</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getMaxFlushedSeqId()">getMaxFlushedSeqId</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getMaxStoreSeqId()">getMaxStoreSeqId</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getMemstoreSize()">getMemstoreSize</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getMetrics()">getMetrics</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getNumMutationsWithoutWAL()">getNumMutationsWithoutWAL</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getOldestHfileTs(boolean)">getOldestHfileTs</a></strong>(boolean&nbsp;majorCompactioOnly)</code>
 <div class="block">This can be used to determine the last time all files of this region were major compacted.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getOldestSeqIdOfStore(byte[])">getOldestSeqIdOfStore</a></strong>(byte[]&nbsp;familyName)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;
@@ -358,11 +362,11 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getOpenSeqNum()">getOpenSeqNum</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadpoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadpoint</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;
@@ -370,33 +374,33 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadPoint(org.apache.hadoop.hbase.client.IsolationLevel)">getReadPoint</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadRequestsCount()">getReadRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getRegionInfo()">getRegionInfo</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getRowLock(byte[],%20boolean)">getRowLock</a></strong>(byte[]&nbsp;row,
                     boolean&nbsp;waitForLock)</code>
 <div class="block">Tries to acquire a lock on the given row.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getScanner(org.apache.hadoop.hbase.client.Scan)">getScanner</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
 <div class="block">Return an iterator that scans over the HRegion, returning the indicated
  columns and rows specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getScanner(org.apache.hadoop.hbase.client.Scan,%20java.util.List)">getScanner</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners)</code>
@@ -404,31 +408,31 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
  specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getStore(byte[])">getStore</a></strong>(byte[]&nbsp;family)</code>
 <div class="block">Return the Store for the given family</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getStoreFileList(byte[][])">getStoreFileList</a></strong>(byte[][]&nbsp;columns)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getStores()">getStores</a></strong>()</code>
 <div class="block">Return the list of Stores managed by this region</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getTableDesc()">getTableDesc</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getWriteRequestsCount()">getWriteRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#increment(org.apache.hadoop.hbase.client.Increment,%20long,%20long)">increment</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment,
                   long&nbsp;nonceGroup,
@@ -436,37 +440,37 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <div class="block">Perform one or more increment operations on a row.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isAvailable()">isAvailable</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isClosed()">isClosed</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isClosing()">isClosing</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isLoadingCfsOnDemandDefault()">isLoadingCfsOnDemandDefault</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isReadOnly()">isReadOnly</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isRecovering()">isRecovering</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#mutateRow(org.apache.hadoop.hbase.client.RowMutations)">mutateRow</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)</code>
 <div class="block">Performs multiple mutations atomically on a single row.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#mutateRowsWithLocks(java.util.Collection,%20java.util.Collection,%20long,%20long)">mutateRowsWithLocks</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
                                       <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;rowsToLock,
@@ -475,13 +479,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <div class="block">Perform atomic mutations within the region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#prepareDelete(org.apache.hadoop.hbase.client.Delete)">prepareDelete</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</code>
 <div class="block">Prepare a delete for a row mutation processor</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#prepareDeleteTimestamps(org.apache.hadoop.hbase.client.Mutation,%20java.util.Map,%20byte[])">prepareDeleteTimestamps</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                                               <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyCellMap,
@@ -489,13 +493,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <div class="block">Set up correct timestamps in the KVs in Delete object.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#processRowsWithLocks(org.apache.hadoop.hbase.regionserver.RowProcessor)">processRowsWithLocks</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor)</code>
 <div class="block">Performs atomic multiple reads and writes on a given row.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#processRowsWithLocks(org.apache.hadoop.hbase.regionserver.RowProcessor,%20long,%20long)">processRowsWithLocks</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                                         long&nbsp;nonceGroup,
@@ -503,7 +507,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <div class="block">Performs atomic multiple reads and writes on a given row.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#processRowsWithLocks(org.apache.hadoop.hbase.regionserver.RowProcessor,%20long,%20long,%20long)">processRowsWithLocks</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                                         long&nbsp;timeout,
@@ -512,13 +516,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <div class="block">Performs atomic multiple reads and writes on a given row.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#put(org.apache.hadoop.hbase.client.Put)">put</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
 <div class="block">Puts some data in the table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#refreshStoreFiles()">refreshStoreFiles</a></strong>()</code>
 <div class="block">Check the region's underlying store files, open the files that have not
@@ -526,7 +530,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
  longer available.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#registerService(com.google.protobuf.Service)">registerService</a></strong>(com.google.protobuf.Service&nbsp;instance)</code>
 <div class="block">Registers a new protocol buffer <code>Service</code> subclass as a coprocessor endpoint to
@@ -535,33 +539,33 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
     org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)</code></a>} calls.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#releaseRowLocks(java.util.List)">releaseRowLocks</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;rowLocks)</code>
 <div class="block">If the given list of row locks is not null, releases all locks.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation()">startRegionOperation</a></strong>()</code>
 <div class="block">This method needs to be called before any public call that reads or
  modifies data.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation(org.apache.hadoop.hbase.regionserver.Region.Operation)">startRegionOperation</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op)</code>
 <div class="block">This method needs to be called before any public call that reads or
  modifies data.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#triggerMajorCompaction()">triggerMajorCompaction</a></strong>()</code>
 <div class="block">Trigger major compaction on all stores in the region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#updateCellTimestamps(java.lang.Iterable,%20byte[])">updateCellTimestamps</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;values,
                                         byte[]&nbsp;now)</code>
@@ -569,19 +573,19 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
  provided current timestamp.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#updateReadRequestsCount(long)">updateReadRequestsCount</a></strong>(long&nbsp;i)</code>
 <div class="block">Update the read request count for this region</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#updateWriteRequestsCount(long)">updateWriteRequestsCount</a></strong>(long&nbsp;i)</code>
 <div class="block">Update the write request count for this region</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#waitForFlushesAndCompactions()">waitForFlushesAndCompactions</a></strong>()</code>
 <div class="block">Wait for all current flushes and compactions of the region to complete</div>
@@ -855,13 +859,23 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - increment</dd></dl>
 </li>
 </ul>
+<a name="getFilteredReadRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFilteredReadRequestsCount</h4>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.189">getFilteredReadRequestsCount</a>()</pre>
+<dl><dt><span class="strong">Returns:</span></dt><dd>filtered read requests count for this region</dd></dl>
+</li>
+</ul>
 <a name="getWriteRequestsCount()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteRequestsCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.189">getWriteRequestsCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.192">getWriteRequestsCount</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>write request count for this region</dd></dl>
 </li>
 </ul>
@@ -871,7 +885,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>updateWriteRequestsCount</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.195">updateWriteRequestsCount</a>(long&nbsp;i)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.198">updateWriteRequestsCount</a>(long&nbsp;i)</pre>
 <div class="block">Update the write request count for this region</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>i</code> - increment</dd></dl>
 </li>
@@ -882,7 +896,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getMemstoreSize</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.198">getMemstoreSize</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.201">getMemstoreSize</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>memstore size for this region, in bytes</dd></dl>
 </li>
 </ul>
@@ -892,7 +906,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumMutationsWithoutWAL</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.201">getNumMutationsWithoutWAL</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.204">getNumMutationsWithoutWAL</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of mutations processed bypassing the WAL</dd></dl>
 </li>
 </ul>
@@ -902,7 +916,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getDataInMemoryWithoutWAL</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.204">getDataInMemoryWithoutWAL</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.207">getDataInMemoryWithoutWAL</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the size of data processed bypassing the WAL, in bytes</dd></dl>
 </li>
 </ul>
@@ -912,7 +926,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockedRequestsCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.207">getBlockedRequestsCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.210">getBlockedRequestsCount</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of blocked requests</dd></dl>
 </li>
 </ul>
@@ -922,7 +936,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCheckAndMutateChecksPassed</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.210">getCheckAndMutateChecksPassed</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.213">getCheckAndMutateChecksPassed</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of checkAndMutate guards that passed</dd></dl>
 </li>
 </ul>
@@ -932,7 +946,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCheckAndMutateChecksFailed</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.213">getCheckAndMutateChecksFailed</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.216">getCheckAndMutateChecksFailed</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of failed checkAndMutate guards</dd></dl>
 </li>
 </ul>
@@ -942,7 +956,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetrics</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.216">getMetrics</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.219">getMetrics</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the MetricsRegion for this region</dd></dl>
 </li>
 </ul>
@@ -952,7 +966,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getHDFSBlocksDistribution</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.219">getHDFSBlocksDistribution</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.222">getHDFSBlocksDistribution</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the block distribution for all Stores managed by this region</dd></dl>
 </li>
 </ul>
@@ -962,7 +976,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>startRegionOperation</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.243">startRegionOperation</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.246">startRegionOperation</a>()
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This method needs to be called before any public call that reads or
  modifies data.
@@ -979,7 +993,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>startRegionOperation</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.254">startRegionOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.257">startRegionOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This method needs to be called before any public call that reads or
  modifies data.
@@ -997,7 +1011,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionOperation</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.260">closeRegionOperation</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.263">closeRegionOperation</a>()
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Closes the region operation lock.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -1010,7 +1024,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowLock</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.288">getRowLock</a>(byte[]&nbsp;row,
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.291">getRowLock</a>(byte[]&nbsp;row,
                         boolean&nbsp;waitForLock)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Tries to acquire a lock on the given row.</div>
@@ -1029,7 +1043,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseRowLocks</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.293">releaseRowLocks</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;rowLocks)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.296">releaseRowLocks</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;rowLocks)</pre>
 <div class="block">If the given list of row locks is not null, releases all locks.</div>
 </li>
 </ul>
@@ -1039,7 +1053,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.306">append</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append,
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.309">append</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append,
             long&nbsp;nonceGroup,
             long&nbsp;nonce)
               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1056,7 +1070,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>batchMutate</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.319">batchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;mutations,
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.322">batchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;mutations,
                             long&nbsp;nonceGroup,
                             long&nbsp;nonce)
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1076,7 +1090,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>batchReplay</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.330">batchReplay</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>[]&nbsp;mutations,
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.333">batchReplay</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>[]&nbsp;mutations,
                             long&nbsp;replaySeqId)
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Replay a batch of mutations.</div>
@@ -1093,7 +1107,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMutate</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.347">checkAndMutate</a>(byte[]&nbsp;row,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.350">checkAndMutate</a>(byte[]&nbsp;row,
                      byte[]&nbsp;family,
                      byte[]&nbsp;qualifier,
                      <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
@@ -1117,7 +1131,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndRowMutate</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.365">checkAndRowMutate</a>(byte[]&nbsp;row,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.368">checkAndRowMutate</a>(byte[]&nbsp;row,
                         byte[]&nbsp;family,
                         byte[]&nbsp;qualifier,
                         <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
@@ -1141,7 +1155,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>delete</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.374">delete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.377">delete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)
             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Deletes the specified cells/row.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>delete</code> - </dd>
@@ -1155,7 +1169,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.381">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.384">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Do a get based on the get parameter.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>get</code> - query parameters</dd>
@@ -1170,7 +1184,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.390">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.393">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
              boolean&nbsp;withCoprocessor)
                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Do a get based on the get parameter.</div>
@@ -1187,7 +1201,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.402">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.405">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Return an iterator that scans over the HRegion, returning the indicated
  columns and rows specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>.
@@ -1205,7 +1219,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.417">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.420">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners)
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Return an iterator that scans over the HRegion, returning the indicated columns and rows
@@ -1226,7 +1240,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellCompartor</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.420">getCellCompartor</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.423">getCellCompartor</a>()</pre>
 <div class="block">The comparator to be used with the region</div>
 </li>
 </ul>
@@ -1236,7 +1250,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>increment</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.430">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment,
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.433">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment,
                long&nbsp;nonceGroup,
                long&nbsp;nonce)
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1253,7 +1267,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>mutateRow</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.439">mutateRow</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.442">mutateRow</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)
                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Performs multiple mutations atomically on a single row. Currently
  <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> are supported.</div>
@@ -1268,7 +1282,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>mutateRowsWithLocks</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.454">mutateRowsWithLocks</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.457">mutateRowsWithLocks</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;rowsToLock,
                        long&nbsp;nonceGroup,
                        long&nbsp;nonce)
@@ -1289,7 +1303,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>processRowsWithLocks</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.462">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.465">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Performs atomic multiple reads and writes on a given row.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>processor</code> - The object defines the reads and writes to a row.</dd>
@@ -1303,7 +1317,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>processRowsWithLocks</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.471">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.474">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1319,7 +1333,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>processRowsWithLocks</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.483">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.486">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                         long&nbsp;timeout,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
@@ -1337,7 +1351,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.491">put</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.494">put</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)
          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Puts some data in the table.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>put</code> - </dd>
@@ -1351,7 +1365,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>bulkLoadHFiles</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.537">bulkLoadHFiles</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;familyPaths,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.540">bulkLoadHFiles</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;familyPaths,
                      boolean&nbsp;assignSeqId,
                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.BulkLoadListener</a>&nbsp;bulkLoadListener)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1370,7 +1384,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCoprocessorHost</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.544">getCoprocessorHost</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.547">getCoprocessorHost</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the coprocessor host</dd></dl>
 </li>
 </ul>
@@ -1380,7 +1394,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>execService</h4>
-<pre>com.google.protobuf.Message&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.560">execService</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>com.google.protobuf.Message&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.563">execService</a>(com.google.protobuf.RpcController&nbsp;controller,
                                       org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall&nbsp;call)
                                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Executes a single protocol buffer coprocessor endpoint <code>Service</code> method using
@@ -1401,7 +1415,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>registerService</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.578">registerService</a>(com.google.protobuf.Service&nbsp;instance)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.581">registerService</a>(com.google.protobuf.Service&nbsp;instance)</pre>
 <div class="block">Registers a new protocol buffer <code>Service</code> subclass as a coprocessor endpoint to
  be available for handling
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#execService(com.google.protobuf.RpcController,%20org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)"><code>execService(com.google.protobuf.RpcController,
@@ -1424,7 +1438,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>checkFamilies</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.588">checkFamilies</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;families)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.591">checkFamilies</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;families)
                    throws <a href="../../../../../org/apache/hadoop/hbase/regionserver/NoSuchColumnFamilyException.html" title="class in org.apache.hadoop.hbase.regionserver">NoSuchColumnFamilyException</a></pre>
 <div class="block">Check the collection of families for validity.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>families</code> - </dd>
@@ -1438,7 +1452,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTimestamps</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.596">checkTimestamps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.599">checkTimestamps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
                    long&nbsp;now)
                      throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/FailedSanityCheckException.html" title="class in org.apache.hadoop.hbase.exceptions">FailedSanityCheckException</a></pre>
 <div class="block">Check the collection of families for valid timestamps</div>
@@ -1453,7 +1467,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareDelete</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.604">prepareDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.607">prepareDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Prepare a delete for a row mutation processor</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>delete</code> - The passed delete is modified by this method. WARNING!</dd>
@@ -1467,7 +1481,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareDeleteTimestamps</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.614">prepareDeleteTimestamps</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.617">prepareDeleteTimestamps</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                            <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyCellMap,
                            byte[]&nbsp;now)
                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1484,7 +1498,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>updateCellTimestamps</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.623">updateCellTimestamps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;values,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.626">updateCellTimestamps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;values,
                         byte[]&nbsp;now)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Replace any cell timestamps set to <a href="../../../../../org/apache/hadoop/hbase/HConstants.html#LATEST_TIMESTAMP"><code>HConstants.LATEST_TIMESTAMP</code></a>
@@ -1500,7 +1514,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>flush</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.670">flush</a>(boolean&nbsp;force)
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.673">flush</a>(boolean&nbsp;force)
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Flush the cache.
 
@@ -1528,7 +1542,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>compact</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.685">compact</a>(boolean&nbsp;majorCompaction)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.688">compact</a>(boolean&nbsp;majorCompaction)
              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Synchronously compact all stores in the region.
  <p>This operation could block for a long time, so don't call it from a
@@ -1549,7 +1563,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>triggerMajorCompaction</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.694">triggerMajorCompaction</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.697">triggerMajorCompaction</a>()
                             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Trigger major compaction on all stores in the region.
  <p>
@@ -1565,7 +1579,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionState</h4>
-<pre>org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.699">getCompactionState</a>()</pre>
+<pre>org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.702">getCompactionState</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>if a given region is in compaction now.</dd></dl>
 </li>
 </ul>
@@ -1575,7 +1589,7 @@ long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>waitForFlushesAndCompactions</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.702">waitForFlushesAndCompactions</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.705">waitForFlushesAndCompactions</a>()</pre>
 <div class="block">Wait for all current flushes and compactions of the region to complete</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperationInProgress.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperationInProgress.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperationInProgress.html
index 97606e5..82471e8 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperationInProgress.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperationInProgress.html
@@ -119,10 +119,11 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
-<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doMiniBatchMutation(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">doMiniBatchMutation</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;?&gt;&nbsp;batchOp)</code>&nbsp;</td>
+<td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doMiniBatchMutation(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress,%20int)">doMiniBatchMutation</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;?&gt;&nbsp;batchOp,
+                                      int&nbsp;cellCount)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private void</code></td>
+<td class="colFirst"><code>private int</code></td>
 <td class="colLast"><span class="strong">HRegion.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doPreMutationHook(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">doPreMutationHook</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a>&lt;?&gt;&nbsp;batchOp)</code>&nbsp;</td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index 4694eca..127af1f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -605,23 +605,23 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScanType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.StoreScannerCompactionRace.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">StoreScanner.StoreScannerCompactionRace</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.RegionMergeTransactionPhase.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">RegionMergeTransaction.RegionMergeTransactionPhase</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">Region.Operation</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteCompare</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScanQueryMatcher.MatchCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitTransaction.SplitTransactionPhase.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">SplitTransaction.SplitTransactionPhase</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">BloomType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DefaultHeapMemoryTuner.StepDirection</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteResult</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">FlushType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScannerContext.LimitScope</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">BloomType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">Region.FlushResult.Result</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScannerContext.NextState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.StoreScannerCompactionRace.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">StoreScanner.StoreScannerCompactionRace</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">Region.Operation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScanType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">SplitLogWorker.TaskExecutor.Status</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScannerContext.LimitScope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DefaultHeapMemoryTuner.StepDirection</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.RegionMergeTransactionPhase.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">RegionMergeTransaction.RegionMergeTransactionPhase</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScannerContext.NextState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScanQueryMatcher.MatchCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitTransaction.SplitTransactionPhase.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">SplitTransaction.SplitTransactionPhase</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteCompare</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionOpeningState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">RegionOpeningState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteResult</span></a></li>
 </ul>
 </li>
 </ul>


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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html b/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
index 546973c..00d2201 100644
--- a/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
@@ -101,8 +101,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="strong">ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.FilterType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="strong">ScannerModel.FilterModel.FilterType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="strong">ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType</span></a></li>
 </ul>
 </li>
 </ul>

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
index cf0dc17..d9e6127 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -397,112 +397,112 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.127">m_metaLocation__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_format">
+<a name="m_assignmentManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.139">m_format</a></pre>
+<h4>m_assignmentManager</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.139">m_assignmentManager</a></pre>
 </li>
 </ul>
-<a name="m_format__IsNotDefault">
+<a name="m_assignmentManager__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.144">m_format__IsNotDefault</a></pre>
+<h4>m_assignmentManager__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.144">m_assignmentManager__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_filter">
+<a name="m_frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.156">m_filter</a></pre>
+<h4>m_frags</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.156">m_frags</a></pre>
 </li>
 </ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_frags__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.161">m_filter__IsNotDefault</a></pre>
+<h4>m_frags__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.161">m_frags__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_serverManager">
+<a name="m_format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_serverManager</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.173">m_serverManager</a></pre>
+<h4>m_format</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.173">m_format</a></pre>
 </li>
 </ul>
-<a name="m_serverManager__IsNotDefault">
+<a name="m_format__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_serverManager__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.178">m_serverManager__IsNotDefault</a></pre>
+<h4>m_format__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.178">m_format__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_frags">
+<a name="m_catalogJanitorEnabled">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_frags</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.190">m_frags</a></pre>
+<h4>m_catalogJanitorEnabled</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.190">m_catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="m_frags__IsNotDefault">
+<a name="m_catalogJanitorEnabled__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_frags__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.195">m_frags__IsNotDefault</a></pre>
+<h4>m_catalogJanitorEnabled__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.195">m_catalogJanitorEnabled__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_assignmentManager">
+<a name="m_servers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_assignmentManager</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.207">m_assignmentManager</a></pre>
+<h4>m_servers</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.207">m_servers</a></pre>
 </li>
 </ul>
-<a name="m_assignmentManager__IsNotDefault">
+<a name="m_servers__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_assignmentManager__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.212">m_assignmentManager__IsNotDefault</a></pre>
+<h4>m_servers__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.212">m_servers__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_catalogJanitorEnabled">
+<a name="m_filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_catalogJanitorEnabled</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.224">m_catalogJanitorEnabled</a></pre>
+<h4>m_filter</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.224">m_filter</a></pre>
 </li>
 </ul>
-<a name="m_catalogJanitorEnabled__IsNotDefault">
+<a name="m_filter__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_catalogJanitorEnabled__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.229">m_catalogJanitorEnabled__IsNotDefault</a></pre>
+<h4>m_filter__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.229">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
 <a name="m_deadServers">
@@ -523,22 +523,22 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.246">m_deadServers__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_servers">
+<a name="m_serverManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_servers</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.258">m_servers</a></pre>
+<h4>m_serverManager</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.258">m_serverManager</a></pre>
 </li>
 </ul>
-<a name="m_servers__IsNotDefault">
+<a name="m_serverManager__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>m_servers__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.263">m_servers__IsNotDefault</a></pre>
+<h4>m_serverManager__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.263">m_serverManager__IsNotDefault</a></pre>
 </li>
 </ul>
 </li>
@@ -611,166 +611,166 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.123">getMetaLocation__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFormat(java.lang.String)">
+<a name="setAssignmentManager(org.apache.hadoop.hbase.master.AssignmentManager)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.129">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
+<h4>setAssignmentManager</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.129">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;assignmentManager)</pre>
 </li>
 </ul>
-<a name="getFormat()">
+<a name="getAssignmentManager()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.135">getFormat</a>()</pre>
+<h4>getAssignmentManager</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.135">getAssignmentManager</a>()</pre>
 </li>
 </ul>
-<a name="getFormat__IsNotDefault()">
+<a name="getAssignmentManager__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.140">getFormat__IsNotDefault</a>()</pre>
+<h4>getAssignmentManager__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.140">getAssignmentManager__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFilter(java.lang.String)">
+<a name="setFrags(java.util.Map)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
+<h4>setFrags</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">setFrags</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;frags)</pre>
 </li>
 </ul>
-<a name="getFilter()">
+<a name="getFrags()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.152">getFilter</a>()</pre>
+<h4>getFrags</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.152">getFrags</a>()</pre>
 </li>
 </ul>
-<a name="getFilter__IsNotDefault()">
+<a name="getFrags__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.157">getFilter__IsNotDefault</a>()</pre>
+<h4>getFrags__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.157">getFrags__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setServerManager(org.apache.hadoop.hbase.master.ServerManager)">
+<a name="setFormat(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServerManager</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.163">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;serverManager)</pre>
+<h4>setFormat</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.163">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
 </li>
 </ul>
-<a name="getServerManager()">
+<a name="getFormat()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServerManager</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.169">getServerManager</a>()</pre>
+<h4>getFormat</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.169">getFormat</a>()</pre>
 </li>
 </ul>
-<a name="getServerManager__IsNotDefault()">
+<a name="getFormat__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServerManager__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.174">getServerManager__IsNotDefault</a>()</pre>
+<h4>getFormat__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.174">getFormat__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFrags(java.util.Map)">
+<a name="setCatalogJanitorEnabled(boolean)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFrags</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">setFrags</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;frags)</pre>
+<h4>setCatalogJanitorEnabled</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">setCatalogJanitorEnabled</a>(boolean&nbsp;catalogJanitorEnabled)</pre>
 </li>
 </ul>
-<a name="getFrags()">
+<a name="getCatalogJanitorEnabled()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFrags</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.186">getFrags</a>()</pre>
+<h4>getCatalogJanitorEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.186">getCatalogJanitorEnabled</a>()</pre>
 </li>
 </ul>
-<a name="getFrags__IsNotDefault()">
+<a name="getCatalogJanitorEnabled__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFrags__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.191">getFrags__IsNotDefault</a>()</pre>
+<h4>getCatalogJanitorEnabled__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.191">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setAssignmentManager(org.apache.hadoop.hbase.master.AssignmentManager)">
+<a name="setServers(java.util.List)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setAssignmentManager</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;assignmentManager)</pre>
+<h4>setServers</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">setServers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers)</pre>
 </li>
 </ul>
-<a name="getAssignmentManager()">
+<a name="getServers()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getAssignmentManager</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.203">getAssignmentManager</a>()</pre>
+<h4>getServers</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.203">getServers</a>()</pre>
 </li>
 </ul>
-<a name="getAssignmentManager__IsNotDefault()">
+<a name="getServers__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getAssignmentManager__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.208">getAssignmentManager__IsNotDefault</a>()</pre>
+<h4>getServers__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.208">getServers__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setCatalogJanitorEnabled(boolean)">
+<a name="setFilter(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setCatalogJanitorEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.214">setCatalogJanitorEnabled</a>(boolean&nbsp;catalogJanitorEnabled)</pre>
+<h4>setFilter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.214">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
 </li>
 </ul>
-<a name="getCatalogJanitorEnabled()">
+<a name="getFilter()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getCatalogJanitorEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.220">getCatalogJanitorEnabled</a>()</pre>
+<h4>getFilter</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.220">getFilter</a>()</pre>
 </li>
 </ul>
-<a name="getCatalogJanitorEnabled__IsNotDefault()">
+<a name="getFilter__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getCatalogJanitorEnabled__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.225">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
+<h4>getFilter__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.225">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
 <a name="setDeadServers(java.util.Set)">
@@ -800,31 +800,31 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.242">getDeadServers__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setServers(java.util.List)">
+<a name="setServerManager(org.apache.hadoop.hbase.master.ServerManager)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.248">setServers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers)</pre>
+<h4>setServerManager</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.248">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;serverManager)</pre>
 </li>
 </ul>
-<a name="getServers()">
+<a name="getServerManager()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServers</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.254">getServers</a>()</pre>
+<h4>getServerManager</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.254">getServerManager</a>()</pre>
 </li>
 </ul>
-<a name="getServers__IsNotDefault()">
+<a name="getServerManager__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getServers__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.259">getServers__IsNotDefault</a>()</pre>
+<h4>getServerManager__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.259">getServerManager__IsNotDefault</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
index 21f5569..7d8b234 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -332,58 +332,58 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.275">metaLocation</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="assignmentManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.282">format</a></pre>
+<h4>assignmentManager</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.282">assignmentManager</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.289">filter</a></pre>
+<h4>frags</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.289">frags</a></pre>
 </li>
 </ul>
-<a name="serverManager">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>serverManager</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.296">serverManager</a></pre>
+<h4>format</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.296">format</a></pre>
 </li>
 </ul>
-<a name="frags">
+<a name="catalogJanitorEnabled">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>frags</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.303">frags</a></pre>
+<h4>catalogJanitorEnabled</h4>
+<pre>protected&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.303">catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="assignmentManager">
+<a name="servers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>assignmentManager</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.310">assignmentManager</a></pre>
+<h4>servers</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.310">servers</a></pre>
 </li>
 </ul>
-<a name="catalogJanitorEnabled">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>catalogJanitorEnabled</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.317">catalogJanitorEnabled</a></pre>
+<h4>filter</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.317">filter</a></pre>
 </li>
 </ul>
 <a name="deadServers">
@@ -395,13 +395,13 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.324">deadServers</a></pre>
 </li>
 </ul>
-<a name="servers">
+<a name="serverManager">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>servers</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.331">servers</a></pre>
+<h4>serverManager</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.331">serverManager</a></pre>
 </li>
 </ul>
 </li>
@@ -482,58 +482,58 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.276">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;p_metaLocation)</pre>
 </li>
 </ul>
-<a name="setFormat(java.lang.String)">
+<a name="setAssignmentManager(org.apache.hadoop.hbase.master.AssignmentManager)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.283">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
+<h4>setAssignmentManager</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.283">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;p_assignmentManager)</pre>
 </li>
 </ul>
-<a name="setFilter(java.lang.String)">
+<a name="setFrags(java.util.Map)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.290">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
+<h4>setFrags</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.290">setFrags</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;p_frags)</pre>
 </li>
 </ul>
-<a name="setServerManager(org.apache.hadoop.hbase.master.ServerManager)">
+<a name="setFormat(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServerManager</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.297">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;p_serverManager)</pre>
+<h4>setFormat</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.297">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
 </li>
 </ul>
-<a name="setFrags(java.util.Map)">
+<a name="setCatalogJanitorEnabled(boolean)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFrags</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.304">setFrags</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;p_frags)</pre>
+<h4>setCatalogJanitorEnabled</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.304">setCatalogJanitorEnabled</a>(boolean&nbsp;p_catalogJanitorEnabled)</pre>
 </li>
 </ul>
-<a name="setAssignmentManager(org.apache.hadoop.hbase.master.AssignmentManager)">
+<a name="setServers(java.util.List)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setAssignmentManager</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.311">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;p_assignmentManager)</pre>
+<h4>setServers</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.311">setServers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;p_servers)</pre>
 </li>
 </ul>
-<a name="setCatalogJanitorEnabled(boolean)">
+<a name="setFilter(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setCatalogJanitorEnabled</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.318">setCatalogJanitorEnabled</a>(boolean&nbsp;p_catalogJanitorEnabled)</pre>
+<h4>setFilter</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.318">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
 </li>
 </ul>
 <a name="setDeadServers(java.util.Set)">
@@ -545,13 +545,13 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.325">setDeadServers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;p_deadServers)</pre>
 </li>
 </ul>
-<a name="setServers(java.util.List)">
+<a name="setServerManager(org.apache.hadoop.hbase.master.ServerManager)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServers</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.332">setServers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;p_servers)</pre>
+<h4>setServerManager</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.332">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;p_serverManager)</pre>
 </li>
 </ul>
 <a name="constructImpl(java.lang.Class)">

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


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.html
index 9c0f2cf..d69dc71 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.html
@@ -245,26 +245,30 @@
 <span class="sourceLineNo">237</span>              MetricsRegionServerSource.READ_REQUEST_COUNT_DESC),<a name="line.237"></a>
 <span class="sourceLineNo">238</span>          this.regionWrapper.getReadRequestCount());<a name="line.238"></a>
 <span class="sourceLineNo">239</span>      mrb.addCounter(Interns.info(<a name="line.239"></a>
-<span class="sourceLineNo">240</span>              regionNamePrefix + MetricsRegionServerSource.WRITE_REQUEST_COUNT,<a name="line.240"></a>
-<span class="sourceLineNo">241</span>              MetricsRegionServerSource.WRITE_REQUEST_COUNT_DESC),<a name="line.241"></a>
-<span class="sourceLineNo">242</span>          this.regionWrapper.getWriteRequestCount());<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      mrb.addCounter(Interns.info(regionNamePrefix + MetricsRegionSource.REPLICA_ID,<a name="line.243"></a>
-<span class="sourceLineNo">244</span>              MetricsRegionSource.REPLICA_ID_DESC),<a name="line.244"></a>
-<span class="sourceLineNo">245</span>          this.regionWrapper.getReplicaId());<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  }<a name="line.247"></a>
-<span class="sourceLineNo">248</span><a name="line.248"></a>
-<span class="sourceLineNo">249</span>  @Override<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  public int hashCode() {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    return hashCode;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  @Override<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  public boolean equals(Object obj) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    return obj == this ||<a name="line.256"></a>
-<span class="sourceLineNo">257</span>        (obj instanceof MetricsRegionSourceImpl &amp;&amp; compareTo((MetricsRegionSourceImpl) obj) == 0);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  }<a name="line.258"></a>
-<span class="sourceLineNo">259</span>}<a name="line.259"></a>
+<span class="sourceLineNo">240</span>              regionNamePrefix + MetricsRegionServerSource.FILTERED_READ_REQUEST_COUNT,<a name="line.240"></a>
+<span class="sourceLineNo">241</span>              MetricsRegionServerSource.FILTERED_READ_REQUEST_COUNT_DESC),<a name="line.241"></a>
+<span class="sourceLineNo">242</span>          this.regionWrapper.getFilteredReadRequestCount());<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      mrb.addCounter(Interns.info(<a name="line.243"></a>
+<span class="sourceLineNo">244</span>              regionNamePrefix + MetricsRegionServerSource.WRITE_REQUEST_COUNT,<a name="line.244"></a>
+<span class="sourceLineNo">245</span>              MetricsRegionServerSource.WRITE_REQUEST_COUNT_DESC),<a name="line.245"></a>
+<span class="sourceLineNo">246</span>          this.regionWrapper.getWriteRequestCount());<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      mrb.addCounter(Interns.info(regionNamePrefix + MetricsRegionSource.REPLICA_ID,<a name="line.247"></a>
+<span class="sourceLineNo">248</span>              MetricsRegionSource.REPLICA_ID_DESC),<a name="line.248"></a>
+<span class="sourceLineNo">249</span>          this.regionWrapper.getReplicaId());<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    }<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span>  @Override<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  public int hashCode() {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    return hashCode;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  @Override<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public boolean equals(Object obj) {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    return obj == this ||<a name="line.260"></a>
+<span class="sourceLineNo">261</span>        (obj instanceof MetricsRegionSourceImpl &amp;&amp; compareTo((MetricsRegionSourceImpl) obj) == 0);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  }<a name="line.262"></a>
+<span class="sourceLineNo">263</span>}<a name="line.263"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html
index 518888e..70a2716 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html
@@ -78,23 +78,28 @@
 <span class="sourceLineNo">070</span>  long getReadRequestCount();<a name="line.70"></a>
 <span class="sourceLineNo">071</span><a name="line.71"></a>
 <span class="sourceLineNo">072</span>  /**<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   * Get the total number of mutations that have been issued against this region.<a name="line.73"></a>
+<span class="sourceLineNo">073</span>   * Get the total number of filtered read requests that have been issued against this region<a name="line.73"></a>
 <span class="sourceLineNo">074</span>   */<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  long getWriteRequestCount();<a name="line.75"></a>
+<span class="sourceLineNo">075</span>  long getFilteredReadRequestCount();<a name="line.75"></a>
 <span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  long getNumFilesCompacted();<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  long getNumBytesCompacted();<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  long getNumCompactionsCompleted();<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  int getRegionHashCode();<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /**<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * Get the replica id of this region.<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   */<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  int getReplicaId();<a name="line.88"></a>
-<span class="sourceLineNo">089</span>}<a name="line.89"></a>
+<span class="sourceLineNo">077</span>  /**<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   * Get the total number of mutations that have been issued against this region.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   */<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  long getWriteRequestCount();<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>  long getNumFilesCompacted();<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>  long getNumBytesCompacted();<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  long getNumCompactionsCompleted();<a name="line.86"></a>
+<span class="sourceLineNo">087</span><a name="line.87"></a>
+<span class="sourceLineNo">088</span>  int getRegionHashCode();<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>  /**<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * Get the replica id of this region.<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   */<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  int getReplicaId();<a name="line.93"></a>
+<span class="sourceLineNo">094</span>}<a name="line.94"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html
index 7ef487a..783e06d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html
@@ -120,66 +120,71 @@
 <span class="sourceLineNo">112</span>  }<a name="line.112"></a>
 <span class="sourceLineNo">113</span><a name="line.113"></a>
 <span class="sourceLineNo">114</span>  @Override<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  public long getWriteRequestCount() {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    return this.region.getWriteRequestsCount();<a name="line.116"></a>
+<span class="sourceLineNo">115</span>  public long getFilteredReadRequestCount() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return this.region.getFilteredReadRequestsCount();<a name="line.116"></a>
 <span class="sourceLineNo">117</span>  }<a name="line.117"></a>
 <span class="sourceLineNo">118</span><a name="line.118"></a>
 <span class="sourceLineNo">119</span>  @Override<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  public long getNumFilesCompacted() {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    return this.region.compactionNumFilesCompacted.get();<a name="line.121"></a>
+<span class="sourceLineNo">120</span>  public long getWriteRequestCount() {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    return this.region.getWriteRequestsCount();<a name="line.121"></a>
 <span class="sourceLineNo">122</span>  }<a name="line.122"></a>
 <span class="sourceLineNo">123</span><a name="line.123"></a>
 <span class="sourceLineNo">124</span>  @Override<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public long getNumBytesCompacted() {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    return this.region.compactionNumBytesCompacted.get();<a name="line.126"></a>
+<span class="sourceLineNo">125</span>  public long getNumFilesCompacted() {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return this.region.compactionNumFilesCompacted.get();<a name="line.126"></a>
 <span class="sourceLineNo">127</span>  }<a name="line.127"></a>
 <span class="sourceLineNo">128</span><a name="line.128"></a>
 <span class="sourceLineNo">129</span>  @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  public long getNumCompactionsCompleted() {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    return this.region.compactionsFinished.get();<a name="line.131"></a>
+<span class="sourceLineNo">130</span>  public long getNumBytesCompacted() {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    return this.region.compactionNumBytesCompacted.get();<a name="line.131"></a>
 <span class="sourceLineNo">132</span>  }<a name="line.132"></a>
 <span class="sourceLineNo">133</span><a name="line.133"></a>
 <span class="sourceLineNo">134</span>  @Override<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  public int getRegionHashCode() {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    return this.region.hashCode();<a name="line.136"></a>
+<span class="sourceLineNo">135</span>  public long getNumCompactionsCompleted() {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    return this.region.compactionsFinished.get();<a name="line.136"></a>
 <span class="sourceLineNo">137</span>  }<a name="line.137"></a>
 <span class="sourceLineNo">138</span><a name="line.138"></a>
-<span class="sourceLineNo">139</span>  public class HRegionMetricsWrapperRunnable implements Runnable {<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>    @Override<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public void run() {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      long tempNumStoreFiles = 0;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      long tempMemstoreSize = 0;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      long tempStoreFileSize = 0;<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>      if (region.stores != null) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        for (Store store : region.stores.values()) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>          tempNumStoreFiles += store.getStorefilesCount();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>          tempMemstoreSize += store.getMemStoreSize();<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          tempStoreFileSize += store.getStorefilesSize();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      }<a name="line.153"></a>
-<span class="sourceLineNo">154</span><a name="line.154"></a>
-<span class="sourceLineNo">155</span>      numStoreFiles = tempNumStoreFiles;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      memstoreSize = tempMemstoreSize;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      storeFileSize = tempStoreFileSize;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  @Override<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public void close() throws IOException {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    regionMetricsUpdateTask.cancel(true);<a name="line.163"></a>
+<span class="sourceLineNo">139</span>  @Override<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  public int getRegionHashCode() {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    return this.region.hashCode();<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  public class HRegionMetricsWrapperRunnable implements Runnable {<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>    @Override<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    public void run() {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      long tempNumStoreFiles = 0;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      long tempMemstoreSize = 0;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      long tempStoreFileSize = 0;<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>      if (region.stores != null) {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        for (Store store : region.stores.values()) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>          tempNumStoreFiles += store.getStorefilesCount();<a name="line.154"></a>
+<span class="sourceLineNo">155</span>          tempMemstoreSize += store.getMemStoreSize();<a name="line.155"></a>
+<span class="sourceLineNo">156</span>          tempStoreFileSize += store.getStorefilesSize();<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>      numStoreFiles = tempNumStoreFiles;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      memstoreSize = tempMemstoreSize;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      storeFileSize = tempStoreFileSize;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  }<a name="line.164"></a>
 <span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  /**<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * Get the replica id of this region.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   */<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  @Override<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  public int getReplicaId() {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    return region.getRegionInfo().getReplicaId();<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  }<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>}<a name="line.174"></a>
+<span class="sourceLineNo">166</span>  @Override<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public void close() throws IOException {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    regionMetricsUpdateTask.cancel(true);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>  /**<a name="line.171"></a>
+<span class="sourceLineNo">172</span>   * Get the replica id of this region.<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  @Override<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public int getReplicaId() {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    return region.getRegionInfo().getReplicaId();<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>}<a name="line.179"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html
index 7ef487a..783e06d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html
@@ -120,66 +120,71 @@
 <span class="sourceLineNo">112</span>  }<a name="line.112"></a>
 <span class="sourceLineNo">113</span><a name="line.113"></a>
 <span class="sourceLineNo">114</span>  @Override<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  public long getWriteRequestCount() {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    return this.region.getWriteRequestsCount();<a name="line.116"></a>
+<span class="sourceLineNo">115</span>  public long getFilteredReadRequestCount() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return this.region.getFilteredReadRequestsCount();<a name="line.116"></a>
 <span class="sourceLineNo">117</span>  }<a name="line.117"></a>
 <span class="sourceLineNo">118</span><a name="line.118"></a>
 <span class="sourceLineNo">119</span>  @Override<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  public long getNumFilesCompacted() {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    return this.region.compactionNumFilesCompacted.get();<a name="line.121"></a>
+<span class="sourceLineNo">120</span>  public long getWriteRequestCount() {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    return this.region.getWriteRequestsCount();<a name="line.121"></a>
 <span class="sourceLineNo">122</span>  }<a name="line.122"></a>
 <span class="sourceLineNo">123</span><a name="line.123"></a>
 <span class="sourceLineNo">124</span>  @Override<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public long getNumBytesCompacted() {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    return this.region.compactionNumBytesCompacted.get();<a name="line.126"></a>
+<span class="sourceLineNo">125</span>  public long getNumFilesCompacted() {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return this.region.compactionNumFilesCompacted.get();<a name="line.126"></a>
 <span class="sourceLineNo">127</span>  }<a name="line.127"></a>
 <span class="sourceLineNo">128</span><a name="line.128"></a>
 <span class="sourceLineNo">129</span>  @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  public long getNumCompactionsCompleted() {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    return this.region.compactionsFinished.get();<a name="line.131"></a>
+<span class="sourceLineNo">130</span>  public long getNumBytesCompacted() {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    return this.region.compactionNumBytesCompacted.get();<a name="line.131"></a>
 <span class="sourceLineNo">132</span>  }<a name="line.132"></a>
 <span class="sourceLineNo">133</span><a name="line.133"></a>
 <span class="sourceLineNo">134</span>  @Override<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  public int getRegionHashCode() {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    return this.region.hashCode();<a name="line.136"></a>
+<span class="sourceLineNo">135</span>  public long getNumCompactionsCompleted() {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    return this.region.compactionsFinished.get();<a name="line.136"></a>
 <span class="sourceLineNo">137</span>  }<a name="line.137"></a>
 <span class="sourceLineNo">138</span><a name="line.138"></a>
-<span class="sourceLineNo">139</span>  public class HRegionMetricsWrapperRunnable implements Runnable {<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>    @Override<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public void run() {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      long tempNumStoreFiles = 0;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      long tempMemstoreSize = 0;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      long tempStoreFileSize = 0;<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>      if (region.stores != null) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        for (Store store : region.stores.values()) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>          tempNumStoreFiles += store.getStorefilesCount();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>          tempMemstoreSize += store.getMemStoreSize();<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          tempStoreFileSize += store.getStorefilesSize();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      }<a name="line.153"></a>
-<span class="sourceLineNo">154</span><a name="line.154"></a>
-<span class="sourceLineNo">155</span>      numStoreFiles = tempNumStoreFiles;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      memstoreSize = tempMemstoreSize;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      storeFileSize = tempStoreFileSize;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  @Override<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public void close() throws IOException {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    regionMetricsUpdateTask.cancel(true);<a name="line.163"></a>
+<span class="sourceLineNo">139</span>  @Override<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  public int getRegionHashCode() {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    return this.region.hashCode();<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  public class HRegionMetricsWrapperRunnable implements Runnable {<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>    @Override<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    public void run() {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      long tempNumStoreFiles = 0;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      long tempMemstoreSize = 0;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      long tempStoreFileSize = 0;<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>      if (region.stores != null) {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        for (Store store : region.stores.values()) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>          tempNumStoreFiles += store.getStorefilesCount();<a name="line.154"></a>
+<span class="sourceLineNo">155</span>          tempMemstoreSize += store.getMemStoreSize();<a name="line.155"></a>
+<span class="sourceLineNo">156</span>          tempStoreFileSize += store.getStorefilesSize();<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>      numStoreFiles = tempNumStoreFiles;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      memstoreSize = tempMemstoreSize;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      storeFileSize = tempStoreFileSize;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  }<a name="line.164"></a>
 <span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  /**<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * Get the replica id of this region.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   */<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  @Override<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  public int getReplicaId() {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    return region.getRegionInfo().getReplicaId();<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  }<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>}<a name="line.174"></a>
+<span class="sourceLineNo">166</span>  @Override<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public void close() throws IOException {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    regionMetricsUpdateTask.cancel(true);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>  /**<a name="line.171"></a>
+<span class="sourceLineNo">172</span>   * Get the replica id of this region.<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  @Override<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public int getReplicaId() {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    return region.getRegionInfo().getReplicaId();<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>}<a name="line.179"></a>
 
 
 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
index 0baa38e..0c2b32e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
@@ -170,172 +170,175 @@
 <span class="sourceLineNo">162</span>  String READ_REQUEST_COUNT = "readRequestCount";<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  String READ_REQUEST_COUNT_DESC =<a name="line.163"></a>
 <span class="sourceLineNo">164</span>      "Number of read requests this region server has answered.";<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  String WRITE_REQUEST_COUNT = "writeRequestCount";<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  String WRITE_REQUEST_COUNT_DESC =<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      "Number of mutation requests this region server has answered.";<a name="line.167"></a>
-<span class="sourceLineNo">168</span>  String CHECK_MUTATE_FAILED_COUNT = "checkMutateFailedCount";<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  String CHECK_MUTATE_FAILED_COUNT_DESC =<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      "Number of Check and Mutate calls that failed the checks.";<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  String CHECK_MUTATE_PASSED_COUNT = "checkMutatePassedCount";<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  String CHECK_MUTATE_PASSED_COUNT_DESC =<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Number of Check and Mutate calls that passed the checks.";<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  String STOREFILE_INDEX_SIZE = "storeFileIndexSize";<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  String STOREFILE_INDEX_SIZE_DESC = "Size of indexes in storefiles on disk.";<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  String STATIC_INDEX_SIZE = "staticIndexSize";<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  String STATIC_INDEX_SIZE_DESC = "Uncompressed size of the static indexes.";<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  String STATIC_BLOOM_SIZE = "staticBloomSize";<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  String STATIC_BLOOM_SIZE_DESC =<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      "Uncompressed size of the static bloom filters.";<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  String NUMBER_OF_MUTATIONS_WITHOUT_WAL = "mutationsWithoutWALCount";<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  String NUMBER_OF_MUTATIONS_WITHOUT_WAL_DESC =<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Number of mutations that have been sent by clients with the write ahead logging turned off.";<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  String DATA_SIZE_WITHOUT_WAL = "mutationsWithoutWALSize";<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  String DATA_SIZE_WITHOUT_WAL_DESC =<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      "Size of data that has been sent by clients with the write ahead logging turned off.";<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  String PERCENT_FILES_LOCAL = "percentFilesLocal";<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  String PERCENT_FILES_LOCAL_DESC =<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "The percent of HFiles that are stored on the local hdfs data node.";<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  String PERCENT_FILES_LOCAL_SECONDARY_REGIONS = "percentFilesLocalSecondaryRegions";<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  String PERCENT_FILES_LOCAL_SECONDARY_REGIONS_DESC =<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    "The percent of HFiles used by secondary regions that are stored on the local hdfs data node.";<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  String SPLIT_QUEUE_LENGTH = "splitQueueLength";<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  String SPLIT_QUEUE_LENGTH_DESC = "Length of the queue for splits.";<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  String COMPACTION_QUEUE_LENGTH = "compactionQueueLength";<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  String LARGE_COMPACTION_QUEUE_LENGTH = "largeCompactionQueueLength";<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  String SMALL_COMPACTION_QUEUE_LENGTH = "smallCompactionQueueLength";<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  String COMPACTION_QUEUE_LENGTH_DESC = "Length of the queue for compactions.";<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  String FLUSH_QUEUE_LENGTH = "flushQueueLength";<a name="line.199"></a>
-<span class="sourceLineNo">200</span>  String FLUSH_QUEUE_LENGTH_DESC = "Length of the queue for region flushes";<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  String BLOCK_CACHE_FREE_SIZE = "blockCacheFreeSize";<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  String BLOCK_CACHE_FREE_DESC =<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      "Size of the block cache that is not occupied.";<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  String BLOCK_CACHE_COUNT = "blockCacheCount";<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  String BLOCK_CACHE_COUNT_DESC = "Number of block in the block cache.";<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  String BLOCK_CACHE_SIZE = "blockCacheSize";<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  String BLOCK_CACHE_SIZE_DESC = "Size of the block cache.";<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  String BLOCK_CACHE_HIT_COUNT = "blockCacheHitCount";<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  String BLOCK_CACHE_HIT_COUNT_DESC = "Count of the hit on the block cache.";<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  String BLOCK_CACHE_PRIMARY_HIT_COUNT = "blockCacheHitCountPrimary";<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  String BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC = "Count of hit on primary replica in the block cache.";<a name="line.211"></a>
-<span class="sourceLineNo">212</span>  String BLOCK_CACHE_MISS_COUNT = "blockCacheMissCount";<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  String BLOCK_COUNT_MISS_COUNT_DESC =<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      "Number of requests for a block that missed the block cache.";<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  String BLOCK_CACHE_PRIMARY_MISS_COUNT = "blockCacheMissCountPrimary";<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  String BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC =<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      "Number of requests for a block of primary replica that missed the block cache.";<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  String BLOCK_CACHE_EVICTION_COUNT = "blockCacheEvictionCount";<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  String BLOCK_CACHE_EVICTION_COUNT_DESC =<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      "Count of the number of blocks evicted from the block cache.";<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  String BLOCK_CACHE_PRIMARY_EVICTION_COUNT = "blockCacheEvictionCountPrimary";<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  String BLOCK_CACHE_PRIMARY_EVICTION_COUNT_DESC =<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      "Count of the number of blocks evicted from primary replica in the block cache.";<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  String BLOCK_CACHE_HIT_PERCENT = "blockCacheCountHitPercent";<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  String BLOCK_CACHE_HIT_PERCENT_DESC =<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      "Percent of block cache requests that are hits";<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  String BLOCK_CACHE_EXPRESS_HIT_PERCENT = "blockCacheExpressHitPercent";<a name="line.227"></a>
-<span class="sourceLineNo">228</span>  String BLOCK_CACHE_EXPRESS_HIT_PERCENT_DESC =<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      "The percent of the time that requests with the cache turned on hit the cache.";<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  String BLOCK_CACHE_FAILED_INSERTION_COUNT = "blockCacheFailedInsertionCount";<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  String BLOCK_CACHE_FAILED_INSERTION_COUNT_DESC = "Number of times that a block cache " +<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      "insertion failed. Usually due to size restrictions.";<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  String RS_START_TIME_NAME = "regionServerStartTime";<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  String ZOOKEEPER_QUORUM_NAME = "zookeeperQuorum";<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  String SERVER_NAME_NAME = "serverName";<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  String CLUSTER_ID_NAME = "clusterId";<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  String RS_START_TIME_DESC = "RegionServer Start Time";<a name="line.237"></a>
-<span class="sourceLineNo">238</span>  String ZOOKEEPER_QUORUM_DESC = "Zookeeper Quorum";<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  String SERVER_NAME_DESC = "Server Name";<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  String CLUSTER_ID_DESC = "Cluster Id";<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  String UPDATES_BLOCKED_TIME = "updatesBlockedTime";<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  String UPDATES_BLOCKED_DESC =<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      "Number of MS updates have been blocked so that the memstore can be flushed.";<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  String DELETE_KEY = "delete";<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  String GET_KEY = "get";<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  String INCREMENT_KEY = "increment";<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  String MUTATE_KEY = "mutate";<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  String APPEND_KEY = "append";<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  String REPLAY_KEY = "replay";<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  String SCAN_NEXT_KEY = "scanNext";<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  String SLOW_MUTATE_KEY = "slowPutCount";<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  String SLOW_GET_KEY = "slowGetCount";<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  String SLOW_DELETE_KEY = "slowDeleteCount";<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  String SLOW_INCREMENT_KEY = "slowIncrementCount";<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  String SLOW_APPEND_KEY = "slowAppendCount";<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  String SLOW_MUTATE_DESC =<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      "The number of Multis that took over 1000ms to complete";<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  String SLOW_DELETE_DESC =<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      "The number of Deletes that took over 1000ms to complete";<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  String SLOW_GET_DESC = "The number of Gets that took over 1000ms to complete";<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  String SLOW_INCREMENT_DESC =<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      "The number of Increments that took over 1000ms to complete";<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  String SLOW_APPEND_DESC =<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      "The number of Appends that took over 1000ms to complete";<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  String FLUSHED_CELLS = "flushedCellsCount";<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  String FLUSHED_CELLS_DESC = "The number of cells flushed to disk";<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  String FLUSHED_CELLS_SIZE = "flushedCellsSize";<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  String FLUSHED_CELLS_SIZE_DESC = "The total amount of data flushed to disk, in bytes";<a name="line.269"></a>
-<span class="sourceLineNo">270</span>  String COMPACTED_CELLS = "compactedCellsCount";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  String COMPACTED_CELLS_DESC = "The number of cells processed during minor compactions";<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  String COMPACTED_CELLS_SIZE = "compactedCellsSize";<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  String COMPACTED_CELLS_SIZE_DESC =<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      "The total amount of data processed during minor compactions, in bytes";<a name="line.274"></a>
-<span class="sourceLineNo">275</span>  String MAJOR_COMPACTED_CELLS = "majorCompactedCellsCount";<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  String MAJOR_COMPACTED_CELLS_DESC =<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      "The number of cells processed during major compactions";<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  String MAJOR_COMPACTED_CELLS_SIZE = "majorCompactedCellsSize";<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  String MAJOR_COMPACTED_CELLS_SIZE_DESC =<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      "The total amount of data processed during major compactions, in bytes";<a name="line.280"></a>
-<span class="sourceLineNo">281</span>  String CELLS_COUNT_COMPACTED_TO_MOB = "cellsCountCompactedToMob";<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  String CELLS_COUNT_COMPACTED_TO_MOB_DESC =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      "The number of cells moved to mob during compaction";<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  String CELLS_COUNT_COMPACTED_FROM_MOB = "cellsCountCompactedFromMob";<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  String CELLS_COUNT_COMPACTED_FROM_MOB_DESC =<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      "The number of cells moved from mob during compaction";<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  String CELLS_SIZE_COMPACTED_TO_MOB = "cellsSizeCompactedToMob";<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  String CELLS_SIZE_COMPACTED_TO_MOB_DESC =<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      "The total amount of cells move to mob during compaction, in bytes";<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  String CELLS_SIZE_COMPACTED_FROM_MOB = "cellsSizeCompactedFromMob";<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  String CELLS_SIZE_COMPACTED_FROM_MOB_DESC =<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      "The total amount of cells move from mob during compaction, in bytes";<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  String MOB_FLUSH_COUNT = "mobFlushCount";<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  String MOB_FLUSH_COUNT_DESC = "The number of the flushes in mob-enabled stores";<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  String MOB_FLUSHED_CELLS_COUNT = "mobFlushedCellsCount";<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  String MOB_FLUSHED_CELLS_COUNT_DESC = "The number of mob cells flushed to disk";<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  String MOB_FLUSHED_CELLS_SIZE = "mobFlushedCellsSize";<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  String MOB_FLUSHED_CELLS_SIZE_DESC = "The total amount of mob cells flushed to disk, in bytes";<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  String MOB_SCAN_CELLS_COUNT = "mobScanCellsCount";<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  String MOB_SCAN_CELLS_COUNT_DESC = "The number of scanned mob cells";<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  String MOB_SCAN_CELLS_SIZE = "mobScanCellsSize";<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  String MOB_SCAN_CELLS_SIZE_DESC = "The total amount of scanned mob cells, in bytes";<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  String MOB_FILE_CACHE_ACCESS_COUNT = "mobFileCacheAccessCount";<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  String MOB_FILE_CACHE_ACCESS_COUNT_DESC = "The count of accesses to the mob file cache";<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  String MOB_FILE_CACHE_MISS_COUNT = "mobFileCacheMissCount";<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  String MOB_FILE_CACHE_MISS_COUNT_DESC = "The count of misses to the mob file cache";<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  String MOB_FILE_CACHE_HIT_PERCENT = "mobFileCacheHitPercent";<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  String MOB_FILE_CACHE_HIT_PERCENT_DESC = "The hit percent to the mob file cache";<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  String MOB_FILE_CACHE_EVICTED_COUNT = "mobFileCacheEvictedCount";<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  String MOB_FILE_CACHE_EVICTED_COUNT_DESC = "The number of items evicted from the mob file cache";<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  String MOB_FILE_CACHE_COUNT = "mobFileCacheCount";<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  String MOB_FILE_CACHE_COUNT_DESC = "The count of cached mob files";<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>  String HEDGED_READS = "hedgedReads";<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  String HEDGED_READS_DESC = "The number of times we started a hedged read";<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  String HEDGED_READ_WINS = "hedgedReadWins";<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  String HEDGED_READ_WINS_DESC =<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      "The number of times we started a hedged read and a hedged read won";<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  String BLOCKED_REQUESTS_COUNT = "blockedRequestCount";<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  String BLOCKED_REQUESTS_COUNT_DESC = "The number of blocked requests because of memstore size is "<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      + "larger than blockingMemStoreSize";<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  String SPLIT_KEY = "splitTime";<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  String SPLIT_REQUEST_KEY = "splitRequestCount";<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  String SPLIT_REQUEST_DESC = "Number of splits requested";<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  String SPLIT_SUCCESS_KEY = "splitSuccessCount";<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  String SPLIT_SUCCESS_DESC = "Number of successfully executed splits";<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  String FLUSH_KEY = "flushTime";<a name="line.329"></a>
-<span class="sourceLineNo">330</span>}<a name="line.330"></a>
+<span class="sourceLineNo">165</span>  String FILTERED_READ_REQUEST_COUNT = "filteredReadRequestCount";<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  String FILTERED_READ_REQUEST_COUNT_DESC =<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    "Number of filtered read requests this region server has answered.";<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  String WRITE_REQUEST_COUNT = "writeRequestCount";<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  String WRITE_REQUEST_COUNT_DESC =<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      "Number of mutation requests this region server has answered.";<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  String CHECK_MUTATE_FAILED_COUNT = "checkMutateFailedCount";<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  String CHECK_MUTATE_FAILED_COUNT_DESC =<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      "Number of Check and Mutate calls that failed the checks.";<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  String CHECK_MUTATE_PASSED_COUNT = "checkMutatePassedCount";<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  String CHECK_MUTATE_PASSED_COUNT_DESC =<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      "Number of Check and Mutate calls that passed the checks.";<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  String STOREFILE_INDEX_SIZE = "storeFileIndexSize";<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  String STOREFILE_INDEX_SIZE_DESC = "Size of indexes in storefiles on disk.";<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  String STATIC_INDEX_SIZE = "staticIndexSize";<a name="line.179"></a>
+<span class="sourceLineNo">180</span>  String STATIC_INDEX_SIZE_DESC = "Uncompressed size of the static indexes.";<a name="line.180"></a>
+<span class="sourceLineNo">181</span>  String STATIC_BLOOM_SIZE = "staticBloomSize";<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  String STATIC_BLOOM_SIZE_DESC =<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      "Uncompressed size of the static bloom filters.";<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  String NUMBER_OF_MUTATIONS_WITHOUT_WAL = "mutationsWithoutWALCount";<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  String NUMBER_OF_MUTATIONS_WITHOUT_WAL_DESC =<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      "Number of mutations that have been sent by clients with the write ahead logging turned off.";<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  String DATA_SIZE_WITHOUT_WAL = "mutationsWithoutWALSize";<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  String DATA_SIZE_WITHOUT_WAL_DESC =<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      "Size of data that has been sent by clients with the write ahead logging turned off.";<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  String PERCENT_FILES_LOCAL = "percentFilesLocal";<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  String PERCENT_FILES_LOCAL_DESC =<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      "The percent of HFiles that are stored on the local hdfs data node.";<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  String PERCENT_FILES_LOCAL_SECONDARY_REGIONS = "percentFilesLocalSecondaryRegions";<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  String PERCENT_FILES_LOCAL_SECONDARY_REGIONS_DESC =<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    "The percent of HFiles used by secondary regions that are stored on the local hdfs data node.";<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  String SPLIT_QUEUE_LENGTH = "splitQueueLength";<a name="line.196"></a>
+<span class="sourceLineNo">197</span>  String SPLIT_QUEUE_LENGTH_DESC = "Length of the queue for splits.";<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  String COMPACTION_QUEUE_LENGTH = "compactionQueueLength";<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  String LARGE_COMPACTION_QUEUE_LENGTH = "largeCompactionQueueLength";<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  String SMALL_COMPACTION_QUEUE_LENGTH = "smallCompactionQueueLength";<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  String COMPACTION_QUEUE_LENGTH_DESC = "Length of the queue for compactions.";<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  String FLUSH_QUEUE_LENGTH = "flushQueueLength";<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  String FLUSH_QUEUE_LENGTH_DESC = "Length of the queue for region flushes";<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  String BLOCK_CACHE_FREE_SIZE = "blockCacheFreeSize";<a name="line.204"></a>
+<span class="sourceLineNo">205</span>  String BLOCK_CACHE_FREE_DESC =<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      "Size of the block cache that is not occupied.";<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  String BLOCK_CACHE_COUNT = "blockCacheCount";<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  String BLOCK_CACHE_COUNT_DESC = "Number of block in the block cache.";<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  String BLOCK_CACHE_SIZE = "blockCacheSize";<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  String BLOCK_CACHE_SIZE_DESC = "Size of the block cache.";<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  String BLOCK_CACHE_HIT_COUNT = "blockCacheHitCount";<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  String BLOCK_CACHE_HIT_COUNT_DESC = "Count of the hit on the block cache.";<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  String BLOCK_CACHE_PRIMARY_HIT_COUNT = "blockCacheHitCountPrimary";<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  String BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC = "Count of hit on primary replica in the block cache.";<a name="line.214"></a>
+<span class="sourceLineNo">215</span>  String BLOCK_CACHE_MISS_COUNT = "blockCacheMissCount";<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  String BLOCK_COUNT_MISS_COUNT_DESC =<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      "Number of requests for a block that missed the block cache.";<a name="line.217"></a>
+<span class="sourceLineNo">218</span>  String BLOCK_CACHE_PRIMARY_MISS_COUNT = "blockCacheMissCountPrimary";<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  String BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC =<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      "Number of requests for a block of primary replica that missed the block cache.";<a name="line.220"></a>
+<span class="sourceLineNo">221</span>  String BLOCK_CACHE_EVICTION_COUNT = "blockCacheEvictionCount";<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  String BLOCK_CACHE_EVICTION_COUNT_DESC =<a name="line.222"></a>
+<span class="sourceLineNo">223</span>      "Count of the number of blocks evicted from the block cache.";<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  String BLOCK_CACHE_PRIMARY_EVICTION_COUNT = "blockCacheEvictionCountPrimary";<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  String BLOCK_CACHE_PRIMARY_EVICTION_COUNT_DESC =<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      "Count of the number of blocks evicted from primary replica in the block cache.";<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  String BLOCK_CACHE_HIT_PERCENT = "blockCacheCountHitPercent";<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  String BLOCK_CACHE_HIT_PERCENT_DESC =<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      "Percent of block cache requests that are hits";<a name="line.229"></a>
+<span class="sourceLineNo">230</span>  String BLOCK_CACHE_EXPRESS_HIT_PERCENT = "blockCacheExpressHitPercent";<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  String BLOCK_CACHE_EXPRESS_HIT_PERCENT_DESC =<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      "The percent of the time that requests with the cache turned on hit the cache.";<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  String BLOCK_CACHE_FAILED_INSERTION_COUNT = "blockCacheFailedInsertionCount";<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  String BLOCK_CACHE_FAILED_INSERTION_COUNT_DESC = "Number of times that a block cache " +<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      "insertion failed. Usually due to size restrictions.";<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  String RS_START_TIME_NAME = "regionServerStartTime";<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  String ZOOKEEPER_QUORUM_NAME = "zookeeperQuorum";<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  String SERVER_NAME_NAME = "serverName";<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  String CLUSTER_ID_NAME = "clusterId";<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  String RS_START_TIME_DESC = "RegionServer Start Time";<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  String ZOOKEEPER_QUORUM_DESC = "Zookeeper Quorum";<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  String SERVER_NAME_DESC = "Server Name";<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  String CLUSTER_ID_DESC = "Cluster Id";<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  String UPDATES_BLOCKED_TIME = "updatesBlockedTime";<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  String UPDATES_BLOCKED_DESC =<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      "Number of MS updates have been blocked so that the memstore can be flushed.";<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  String DELETE_KEY = "delete";<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  String GET_KEY = "get";<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  String INCREMENT_KEY = "increment";<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  String MUTATE_KEY = "mutate";<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  String APPEND_KEY = "append";<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  String REPLAY_KEY = "replay";<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  String SCAN_NEXT_KEY = "scanNext";<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  String SLOW_MUTATE_KEY = "slowPutCount";<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  String SLOW_GET_KEY = "slowGetCount";<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  String SLOW_DELETE_KEY = "slowDeleteCount";<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  String SLOW_INCREMENT_KEY = "slowIncrementCount";<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  String SLOW_APPEND_KEY = "slowAppendCount";<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  String SLOW_MUTATE_DESC =<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      "The number of Multis that took over 1000ms to complete";<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  String SLOW_DELETE_DESC =<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      "The number of Deletes that took over 1000ms to complete";<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  String SLOW_GET_DESC = "The number of Gets that took over 1000ms to complete";<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  String SLOW_INCREMENT_DESC =<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      "The number of Increments that took over 1000ms to complete";<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  String SLOW_APPEND_DESC =<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      "The number of Appends that took over 1000ms to complete";<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>  String FLUSHED_CELLS = "flushedCellsCount";<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  String FLUSHED_CELLS_DESC = "The number of cells flushed to disk";<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  String FLUSHED_CELLS_SIZE = "flushedCellsSize";<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  String FLUSHED_CELLS_SIZE_DESC = "The total amount of data flushed to disk, in bytes";<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  String COMPACTED_CELLS = "compactedCellsCount";<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  String COMPACTED_CELLS_DESC = "The number of cells processed during minor compactions";<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  String COMPACTED_CELLS_SIZE = "compactedCellsSize";<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  String COMPACTED_CELLS_SIZE_DESC =<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      "The total amount of data processed during minor compactions, in bytes";<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  String MAJOR_COMPACTED_CELLS = "majorCompactedCellsCount";<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  String MAJOR_COMPACTED_CELLS_DESC =<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      "The number of cells processed during major compactions";<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  String MAJOR_COMPACTED_CELLS_SIZE = "majorCompactedCellsSize";<a name="line.281"></a>
+<span class="sourceLineNo">282</span>  String MAJOR_COMPACTED_CELLS_SIZE_DESC =<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      "The total amount of data processed during major compactions, in bytes";<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  String CELLS_COUNT_COMPACTED_TO_MOB = "cellsCountCompactedToMob";<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  String CELLS_COUNT_COMPACTED_TO_MOB_DESC =<a name="line.285"></a>
+<span class="sourceLineNo">286</span>      "The number of cells moved to mob during compaction";<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  String CELLS_COUNT_COMPACTED_FROM_MOB = "cellsCountCompactedFromMob";<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  String CELLS_COUNT_COMPACTED_FROM_MOB_DESC =<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      "The number of cells moved from mob during compaction";<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  String CELLS_SIZE_COMPACTED_TO_MOB = "cellsSizeCompactedToMob";<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  String CELLS_SIZE_COMPACTED_TO_MOB_DESC =<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      "The total amount of cells move to mob during compaction, in bytes";<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  String CELLS_SIZE_COMPACTED_FROM_MOB = "cellsSizeCompactedFromMob";<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  String CELLS_SIZE_COMPACTED_FROM_MOB_DESC =<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      "The total amount of cells move from mob during compaction, in bytes";<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  String MOB_FLUSH_COUNT = "mobFlushCount";<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  String MOB_FLUSH_COUNT_DESC = "The number of the flushes in mob-enabled stores";<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  String MOB_FLUSHED_CELLS_COUNT = "mobFlushedCellsCount";<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  String MOB_FLUSHED_CELLS_COUNT_DESC = "The number of mob cells flushed to disk";<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  String MOB_FLUSHED_CELLS_SIZE = "mobFlushedCellsSize";<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  String MOB_FLUSHED_CELLS_SIZE_DESC = "The total amount of mob cells flushed to disk, in bytes";<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  String MOB_SCAN_CELLS_COUNT = "mobScanCellsCount";<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  String MOB_SCAN_CELLS_COUNT_DESC = "The number of scanned mob cells";<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  String MOB_SCAN_CELLS_SIZE = "mobScanCellsSize";<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  String MOB_SCAN_CELLS_SIZE_DESC = "The total amount of scanned mob cells, in bytes";<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  String MOB_FILE_CACHE_ACCESS_COUNT = "mobFileCacheAccessCount";<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  String MOB_FILE_CACHE_ACCESS_COUNT_DESC = "The count of accesses to the mob file cache";<a name="line.307"></a>
+<span class="sourceLineNo">308</span>  String MOB_FILE_CACHE_MISS_COUNT = "mobFileCacheMissCount";<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  String MOB_FILE_CACHE_MISS_COUNT_DESC = "The count of misses to the mob file cache";<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  String MOB_FILE_CACHE_HIT_PERCENT = "mobFileCacheHitPercent";<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  String MOB_FILE_CACHE_HIT_PERCENT_DESC = "The hit percent to the mob file cache";<a name="line.311"></a>
+<span class="sourceLineNo">312</span>  String MOB_FILE_CACHE_EVICTED_COUNT = "mobFileCacheEvictedCount";<a name="line.312"></a>
+<span class="sourceLineNo">313</span>  String MOB_FILE_CACHE_EVICTED_COUNT_DESC = "The number of items evicted from the mob file cache";<a name="line.313"></a>
+<span class="sourceLineNo">314</span>  String MOB_FILE_CACHE_COUNT = "mobFileCacheCount";<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  String MOB_FILE_CACHE_COUNT_DESC = "The count of cached mob files";<a name="line.315"></a>
+<span class="sourceLineNo">316</span><a name="line.316"></a>
+<span class="sourceLineNo">317</span>  String HEDGED_READS = "hedgedReads";<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  String HEDGED_READS_DESC = "The number of times we started a hedged read";<a name="line.318"></a>
+<span class="sourceLineNo">319</span>  String HEDGED_READ_WINS = "hedgedReadWins";<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  String HEDGED_READ_WINS_DESC =<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      "The number of times we started a hedged read and a hedged read won";<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>  String BLOCKED_REQUESTS_COUNT = "blockedRequestCount";<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  String BLOCKED_REQUESTS_COUNT_DESC = "The number of blocked requests because of memstore size is "<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      + "larger than blockingMemStoreSize";<a name="line.325"></a>
+<span class="sourceLineNo">326</span><a name="line.326"></a>
+<span class="sourceLineNo">327</span>  String SPLIT_KEY = "splitTime";<a name="line.327"></a>
+<span class="sourceLineNo">328</span>  String SPLIT_REQUEST_KEY = "splitRequestCount";<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  String SPLIT_REQUEST_DESC = "Number of splits requested";<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  String SPLIT_SUCCESS_KEY = "splitSuccessCount";<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  String SPLIT_SUCCESS_DESC = "Number of successfully executed splits";<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  String FLUSH_KEY = "flushTime";<a name="line.332"></a>
+<span class="sourceLineNo">333</span>}<a name="line.333"></a>
 
 
 

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


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
index 2a205ee..4affe24 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
@@ -205,141 +205,145 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#flushedCellsCount">flushedCellsCount</a></strong></code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#filteredReadRequestsCount">filteredReadRequestsCount</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#flushedCellsSize">flushedCellsSize</a></strong></code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#flushedCellsCount">flushedCellsCount</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#flushedCellsSize">flushedCellsSize</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private static org.apache.commons.logging.Log</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#LOG">LOG</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#majorCompactedCellsCount">majorCompactedCellsCount</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#majorCompactedCellsSize">majorCompactedCellsSize</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#memstoreSize">memstoreSize</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">MetricsWALSource</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#metricsWALSource">metricsWALSource</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#mobFileCache">mobFileCache</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#mobFileCacheAccessCount">mobFileCacheAccessCount</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#mobFileCacheCount">mobFileCacheCount</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#mobFileCacheEvictedCount">mobFileCacheEvictedCount</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private double</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#mobFileCacheHitRatio">mobFileCacheHitRatio</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#mobFileCacheMissCount">mobFileCacheMissCount</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#mobFlushCount">mobFlushCount</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#mobFlushedCellsCount">mobFlushedCellsCount</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#mobFlushedCellsSize">mobFlushedCellsSize</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#mobScanCellsCount">mobScanCellsCount</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#mobScanCellsSize">mobScanCellsSize</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#numMutationsWithoutWAL">numMutationsWithoutWAL</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#numStoreFiles">numStoreFiles</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#numStores">numStores</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#numWALFiles">numWALFiles</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private double</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#percentFileLocal">percentFileLocal</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private double</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#percentFileLocalSecondaryRegions">percentFileLocalSecondaryRegions</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#period">period</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#readRequestsCount">readRequestsCount</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#regionServer">regionServer</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private double</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#requestsPerSecond">requestsPerSecond</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#runnable">runnable</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#storefileIndexSize">storefileIndexSize</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#storeFileSize">storeFileSize</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#totalStaticBloomSize">totalStaticBloomSize</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#totalStaticIndexSize">totalStaticIndexSize</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#walFileSize">walFileSize</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#writeRequestsCount">writeRequestsCount</a></strong></code>&nbsp;</td>
 </tr>
@@ -532,256 +536,262 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount</a></strong>()</code>
+<div class="block">Get the number of filtered read requests to regions hosted on this region server.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getFlushedCellsCount()">getFlushedCellsCount</a></strong>()</code>
 <div class="block">Get the number of cells flushed to disk.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getFlushedCellsSize()">getFlushedCellsSize</a></strong>()</code>
 <div class="block">Get the total amount of data flushed to disk, in bytes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getFlushQueueSize()">getFlushQueueSize</a></strong>()</code>
 <div class="block">Get the size of the flush queue.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getHedgedReadOps()">getHedgedReadOps</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getHedgedReadWins()">getHedgedReadWins</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getLargeCompactionQueueSize()">getLargeCompactionQueueSize</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getMajorCompactedCellsCount()">getMajorCompactedCellsCount</a></strong>()</code>
 <div class="block">Get the number of cells processed during major compactions.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getMajorCompactedCellsSize()">getMajorCompactedCellsSize</a></strong>()</code>
 <div class="block">Get the total amount of data processed during major compactions, in bytes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getMemstoreSize()">getMemstoreSize</a></strong>()</code>
 <div class="block">Get the size of the memstore on this region server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getMobFileCacheAccessCount()">getMobFileCacheAccessCount</a></strong>()</code>
 <div class="block">Gets the count of accesses to the mob file cache.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getMobFileCacheCount()">getMobFileCacheCount</a></strong>()</code>
 <div class="block">Gets the count of cached mob files.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getMobFileCacheEvictedCount()">getMobFileCacheEvictedCount</a></strong>()</code>
 <div class="block">Gets the number of items evicted from the mob file cache.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getMobFileCacheHitPercent()">getMobFileCacheHitPercent</a></strong>()</code>
 <div class="block">Gets the hit percent to the mob file cache.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getMobFileCacheMissCount()">getMobFileCacheMissCount</a></strong>()</code>
 <div class="block">Gets the count of misses to the mob file cache.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getMobFlushCount()">getMobFlushCount</a></strong>()</code>
 <div class="block">Gets the number of the flushes in mob-enabled stores.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getMobFlushedCellsCount()">getMobFlushedCellsCount</a></strong>()</code>
 <div class="block">Gets the number of mob cells flushed to disk.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getMobFlushedCellsSize()">getMobFlushedCellsSize</a></strong>()</code>
 <div class="block">Gets the total amount of mob cells flushed to disk, in bytes.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getMobScanCellsCount()">getMobScanCellsCount</a></strong>()</code>
 <div class="block">Gets the number of scanned mob cells.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getMobScanCellsSize()">getMobScanCellsSize</a></strong>()</code>
 <div class="block">Gets the total amount of scanned mob cells, in bytes.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getNumMutationsWithoutWAL()">getNumMutationsWithoutWAL</a></strong>()</code>
 <div class="block">Number of mutations received with WAL explicitly turned off.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getNumOnlineRegions()">getNumOnlineRegions</a></strong>()</code>
 <div class="block">The number of online regions</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getNumStoreFiles()">getNumStoreFiles</a></strong>()</code>
 <div class="block">Get the number of store files hosted on this region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getNumStores()">getNumStores</a></strong>()</code>
 <div class="block">Get the number of stores hosted on this region server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getNumWALFiles()">getNumWALFiles</a></strong>()</code>
 <div class="block">Get the number of WAL files of this region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getNumWALSlowAppend()">getNumWALSlowAppend</a></strong>()</code>
 <div class="block">Get the number of WAL files with slow appends for this region server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getPercentFileLocal()">getPercentFileLocal</a></strong>()</code>
 <div class="block">Get the percent of HFiles' that are local.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getPercentFileLocalSecondaryRegions()">getPercentFileLocalSecondaryRegions</a></strong>()</code>
 <div class="block">Get the percent of HFiles' that are local for secondary region replicas.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getReadRequestsCount()">getReadRequestsCount</a></strong>()</code>
 <div class="block">Get the number of read requests to regions hosted on this region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getRequestsPerSecond()">getRequestsPerSecond</a></strong>()</code>
 <div class="block">Get the number of requests per second.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getServerName()">getServerName</a></strong>()</code>
 <div class="block">Get ServerName</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getSmallCompactionQueueSize()">getSmallCompactionQueueSize</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getSplitQueueSize()">getSplitQueueSize</a></strong>()</code>
 <div class="block">Get the size of the split queue</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getStartCode()">getStartCode</a></strong>()</code>
 <div class="block">Get HRegionServer start time</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getStoreFileIndexSize()">getStoreFileIndexSize</a></strong>()</code>
 <div class="block">Get the Size (in bytes) of indexes in storefiles on disk.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getStoreFileSize()">getStoreFileSize</a></strong>()</code>
 <div class="block">Get the total size of the store files this region server is serving from.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getTotalRequestCount()">getTotalRequestCount</a></strong>()</code>
 <div class="block">Get the total number of requests per second.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getTotalStaticBloomSize()">getTotalStaticBloomSize</a></strong>()</code>
 <div class="block">Get the size (in bytes) of the static bloom filters.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getTotalStaticIndexSize()">getTotalStaticIndexSize</a></strong>()</code>
 <div class="block">Get the size (in bytes) of of the static indexes including the roots.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getUpdatesBlockedTime()">getUpdatesBlockedTime</a></strong>()</code>
 <div class="block">Get the amount of time that updates were blocked.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getWALFileSize()">getWALFileSize</a></strong>()</code>
 <div class="block">Get the size of WAL files of this region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getWriteRequestsCount()">getWriteRequestsCount</a></strong>()</code>
 <div class="block">Get the number of write requests to regions hosted on this region server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getZookeeperQuorum()">getZookeeperQuorum</a></strong>()</code>
 <div class="block">Get the Zookeeper Quorum Info</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#initBlockCache()">initBlockCache</a></strong>()</code>
 <div class="block">It's possible that due to threading the block cache could not be initialized
  yet (testing multiple region servers in one jvm).</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#initMobFileCache()">initMobFileCache</a></strong>()</code>
 <div class="block">Initializes the mob file cache.</div>
@@ -926,13 +936,22 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.70">readRequestsCount</a></pre>
 </li>
 </ul>
+<a name="filteredReadRequestsCount">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>filteredReadRequestsCount</h4>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.71">filteredReadRequestsCount</a></pre>
+</li>
+</ul>
 <a name="writeRequestsCount">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRequestsCount</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.71">writeRequestsCount</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.72">writeRequestsCount</a></pre>
 </li>
 </ul>
 <a name="checkAndMutateChecksFailed">
@@ -941,7 +960,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMutateChecksFailed</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.72">checkAndMutateChecksFailed</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.73">checkAndMutateChecksFailed</a></pre>
 </li>
 </ul>
 <a name="checkAndMutateChecksPassed">
@@ -950,7 +969,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMutateChecksPassed</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.73">checkAndMutateChecksPassed</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.74">checkAndMutateChecksPassed</a></pre>
 </li>
 </ul>
 <a name="storefileIndexSize">
@@ -959,7 +978,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>storefileIndexSize</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.74">storefileIndexSize</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.75">storefileIndexSize</a></pre>
 </li>
 </ul>
 <a name="totalStaticIndexSize">
@@ -968,7 +987,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>totalStaticIndexSize</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.75">totalStaticIndexSize</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.76">totalStaticIndexSize</a></pre>
 </li>
 </ul>
 <a name="totalStaticBloomSize">
@@ -977,7 +996,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>totalStaticBloomSize</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.76">totalStaticBloomSize</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.77">totalStaticBloomSize</a></pre>
 </li>
 </ul>
 <a name="numMutationsWithoutWAL">
@@ -986,7 +1005,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>numMutationsWithoutWAL</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.77">numMutationsWithoutWAL</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.78">numMutationsWithoutWAL</a></pre>
 </li>
 </ul>
 <a name="dataInMemoryWithoutWAL">
@@ -995,7 +1014,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>dataInMemoryWithoutWAL</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.78">dataInMemoryWithoutWAL</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.79">dataInMemoryWithoutWAL</a></pre>
 </li>
 </ul>
 <a name="percentFileLocal">
@@ -1004,7 +1023,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>percentFileLocal</h4>
-<pre>private volatile&nbsp;double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.79">percentFileLocal</a></pre>
+<pre>private volatile&nbsp;double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.80">percentFileLocal</a></pre>
 </li>
 </ul>
 <a name="percentFileLocalSecondaryRegions">
@@ -1013,7 +1032,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>percentFileLocalSecondaryRegions</h4>
-<pre>private volatile&nbsp;double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.80">percentFileLocalSecondaryRegions</a></pre>
+<pre>private volatile&nbsp;double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.81">percentFileLocalSecondaryRegions</a></pre>
 </li>
 </ul>
 <a name="flushedCellsCount">
@@ -1022,7 +1041,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>flushedCellsCount</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.81">flushedCellsCount</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.82">flushedCellsCount</a></pre>
 </li>
 </ul>
 <a name="compactedCellsCount">
@@ -1031,7 +1050,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>compactedCellsCount</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.82">compactedCellsCount</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.83">compactedCellsCount</a></pre>
 </li>
 </ul>
 <a name="majorCompactedCellsCount">
@@ -1040,7 +1059,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>majorCompactedCellsCount</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.83">majorCompactedCellsCount</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.84">majorCompactedCellsCount</a></pre>
 </li>
 </ul>
 <a name="flushedCellsSize">
@@ -1049,7 +1068,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>flushedCellsSize</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.84">flushedCellsSize</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.85">flushedCellsSize</a></pre>
 </li>
 </ul>
 <a name="compactedCellsSize">
@@ -1058,7 +1077,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>compactedCellsSize</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.85">compactedCellsSize</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.86">compactedCellsSize</a></pre>
 </li>
 </ul>
 <a name="majorCompactedCellsSize">
@@ -1067,7 +1086,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>majorCompactedCellsSize</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.86">majorCompactedCellsSize</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.87">majorCompactedCellsSize</a></pre>
 </li>
 </ul>
 <a name="cellsCountCompactedToMob">
@@ -1076,7 +1095,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>cellsCountCompactedToMob</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.87">cellsCountCompactedToMob</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.88">cellsCountCompactedToMob</a></pre>
 </li>
 </ul>
 <a name="cellsCountCompactedFromMob">
@@ -1085,7 +1104,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>cellsCountCompactedFromMob</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.88">cellsCountCompactedFromMob</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.89">cellsCountCompactedFromMob</a></pre>
 </li>
 </ul>
 <a name="cellsSizeCompactedToMob">
@@ -1094,7 +1113,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>cellsSizeCompactedToMob</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.89">cellsSizeCompactedToMob</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.90">cellsSizeCompactedToMob</a></pre>
 </li>
 </ul>
 <a name="cellsSizeCompactedFromMob">
@@ -1103,7 +1122,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>cellsSizeCompactedFromMob</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.90">cellsSizeCompactedFromMob</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.91">cellsSizeCompactedFromMob</a></pre>
 </li>
 </ul>
 <a name="mobFlushCount">
@@ -1112,7 +1131,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>mobFlushCount</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.91">mobFlushCount</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.92">mobFlushCount</a></pre>
 </li>
 </ul>
 <a name="mobFlushedCellsCount">
@@ -1121,7 +1140,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>mobFlushedCellsCount</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.92">mobFlushedCellsCount</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.93">mobFlushedCellsCount</a></pre>
 </li>
 </ul>
 <a name="mobFlushedCellsSize">
@@ -1130,7 +1149,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>mobFlushedCellsSize</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.93">mobFlushedCellsSize</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.94">mobFlushedCellsSize</a></pre>
 </li>
 </ul>
 <a name="mobScanCellsCount">
@@ -1139,7 +1158,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>mobScanCellsCount</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.94">mobScanCellsCount</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.95">mobScanCellsCount</a></pre>
 </li>
 </ul>
 <a name="mobScanCellsSize">
@@ -1148,7 +1167,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>mobScanCellsSize</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.95">mobScanCellsSize</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.96">mobScanCellsSize</a></pre>
 </li>
 </ul>
 <a name="mobFileCacheAccessCount">
@@ -1157,7 +1176,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>mobFileCacheAccessCount</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.96">mobFileCacheAccessCount</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.97">mobFileCacheAccessCount</a></pre>
 </li>
 </ul>
 <a name="mobFileCacheMissCount">
@@ -1166,7 +1185,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>mobFileCacheMissCount</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.97">mobFileCacheMissCount</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.98">mobFileCacheMissCount</a></pre>
 </li>
 </ul>
 <a name="mobFileCacheHitRatio">
@@ -1175,7 +1194,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>mobFileCacheHitRatio</h4>
-<pre>private volatile&nbsp;double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.98">mobFileCacheHitRatio</a></pre>
+<pre>private volatile&nbsp;double <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.99">mobFileCacheHitRatio</a></pre>
 </li>
 </ul>
 <a name="mobFileCacheEvictedCount">
@@ -1184,7 +1203,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>mobFileCacheEvictedCount</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.99">mobFileCacheEvictedCount</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.100">mobFileCacheEvictedCount</a></pre>
 </li>
 </ul>
 <a name="mobFileCacheCount">
@@ -1193,7 +1212,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>mobFileCacheCount</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.100">mobFileCacheCount</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.101">mobFileCacheCount</a></pre>
 </li>
 </ul>
 <a name="blockedRequestsCount">
@@ -1202,7 +1221,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>blockedRequestsCount</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.101">blockedRequestsCount</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.102">blockedRequestsCount</a></pre>
 </li>
 </ul>
 <a name="cacheStats">
@@ -1211,7 +1230,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheStats</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.103">cacheStats</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.104">cacheStats</a></pre>
 </li>
 </ul>
 <a name="executor">
@@ -1220,7 +1239,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>executor</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.104">executor</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.105">executor</a></pre>
 </li>
 </ul>
 <a name="runnable">
@@ -1229,7 +1248,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>runnable</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.105">runnable</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.106">runnable</a></pre>
 </li>
 </ul>
 <a name="period">
@@ -1238,7 +1257,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>period</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.106">period</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.107">period</a></pre>
 </li>
 </ul>
 <a name="dfsHedgedReadMetrics">
@@ -1247,7 +1266,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockListLast">
 <li class="blockList">
 <h4>dfsHedgedReadMetrics</h4>
-<pre>private&nbsp;org.apache.hadoop.hdfs.DFSHedgedReadMetrics <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.111">dfsHedgedReadMetrics</a></pre>
+<pre>private&nbsp;org.apache.hadoop.hdfs.DFSHedgedReadMetrics <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.112">dfsHedgedReadMetrics</a></pre>
 <div class="block">Can be null if not on hdfs.</div>
 </li>
 </ul>
@@ -1265,7 +1284,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MetricsRegionServerWrapperImpl</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.113">MetricsRegionServerWrapperImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;regionServer)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.114">MetricsRegionServerWrapperImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;regionServer)</pre>
 </li>
 </ul>
 </li>
@@ -1282,7 +1301,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>initBlockCache</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.143">initBlockCache</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.144">initBlockCache</a>()</pre>
 <div class="block">It's possible that due to threading the block cache could not be initialized
  yet (testing multiple region servers in one jvm).  So we need to try and initialize
  the blockCache and cacheStats reference multiple times until we succeed.</div>
@@ -1294,7 +1313,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>initMobFileCache</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.157">initMobFileCache</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.158">initMobFileCache</a>()</pre>
 <div class="block">Initializes the mob file cache.</div>
 </li>
 </ul>
@@ -1304,7 +1323,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterId</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.165">getClusterId</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.166">getClusterId</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getClusterId()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the Cluster ID</div>
 <dl>
@@ -1319,7 +1338,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartCode</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.170">getStartCode</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.171">getStartCode</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getStartCode()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get HRegionServer start time</div>
 <dl>
@@ -1334,7 +1353,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getZookeeperQuorum</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.175">getZookeeperQuorum</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.176">getZookeeperQuorum</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getZookeeperQuorum()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the Zookeeper Quorum Info</div>
 <dl>
@@ -1349,7 +1368,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getCoprocessors</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.184">getCoprocessors</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.185">getCoprocessors</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCoprocessors()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the co-processors</div>
 <dl>
@@ -1364,7 +1383,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerName</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.193">getServerName</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.194">getServerName</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getServerName()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get ServerName</div>
 <dl>
@@ -1379,7 +1398,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumOnlineRegions</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.202">getNumOnlineRegions</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.203">getNumOnlineRegions</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumOnlineRegions()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">The number of online regions</div>
 <dl>
@@ -1394,7 +1413,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalRequestCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.211">getTotalRequestCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.212">getTotalRequestCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getTotalRequestCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the total number of requests per second.</div>
 <dl>
@@ -1409,7 +1428,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitQueueSize</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.216">getSplitQueueSize</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.217">getSplitQueueSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getSplitQueueSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the size of the split queue</div>
 <dl>
@@ -1424,7 +1443,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionQueueSize</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.224">getCompactionQueueSize</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.225">getCompactionQueueSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCompactionQueueSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the size of the compaction queue</div>
 <dl>
@@ -1439,7 +1458,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getSmallCompactionQueueSize</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.233">getSmallCompactionQueueSize</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.234">getSmallCompactionQueueSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getSmallCompactionQueueSize()">getSmallCompactionQueueSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
@@ -1452,7 +1471,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getLargeCompactionQueueSize</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.242">getLargeCompactionQueueSize</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.243">getLargeCompactionQueueSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getLargeCompactionQueueSize()">getLargeCompactionQueueSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
@@ -1465,7 +1484,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushQueueSize</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.251">getFlushQueueSize</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.252">getFlushQueueSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getFlushQueueSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the size of the flush queue.</div>
 <dl>
@@ -1480,7 +1499,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.260">getBlockCacheCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.261">getBlockCacheCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of items in the block cache.</div>
 <dl>
@@ -1495,7 +1514,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.268">getBlockCacheSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.269">getBlockCacheSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the total size (in bytes) of the block cache.</div>
 <dl>
@@ -1510,7 +1529,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheFreeSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.276">getBlockCacheFreeSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.277">getBlockCacheFreeSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheFreeSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the size (in bytes) of the block cache that is free.</div>
 <dl>
@@ -1525,7 +1544,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheHitCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.284">getBlockCacheHitCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.285">getBlockCacheHitCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheHitCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the count of hits to the block cache</div>
 <dl>
@@ -1540,7 +1559,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCachePrimaryHitCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.292">getBlockCachePrimaryHitCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.293">getBlockCachePrimaryHitCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCachePrimaryHitCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the count of hits to primary replica in the block cache</div>
 <dl>
@@ -1555,7 +1574,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheMissCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.300">getBlockCacheMissCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.301">getBlockCacheMissCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheMissCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the count of misses to the block cache.</div>
 <dl>
@@ -1570,7 +1589,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCachePrimaryMissCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.308">getBlockCachePrimaryMissCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.309">getBlockCachePrimaryMissCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCachePrimaryMissCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the count of misses to primary replica in the block cache.</div>
 <dl>
@@ -1585,7 +1604,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheEvictedCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.316">getBlockCacheEvictedCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.317">getBlockCacheEvictedCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheEvictedCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of items evicted from the block cache.</div>
 <dl>
@@ -1600,7 +1619,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCachePrimaryEvictedCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.324">getBlockCachePrimaryEvictedCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.325">getBlockCachePrimaryEvictedCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCachePrimaryEvictedCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of items evicted from primary replica in the block cache.</div>
 <dl>
@@ -1615,7 +1634,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheHitPercent</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.332">getBlockCacheHitPercent</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.333">getBlockCacheHitPercent</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheHitPercent()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the percent of all requests that hit the block cache.</div>
 <dl>
@@ -1630,7 +1649,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheHitCachingPercent</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.344">getBlockCacheHitCachingPercent</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.345">getBlockCacheHitCachingPercent</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheHitCachingPercent()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the percent of requests with the block cache turned on that hit the block cache.</div>
 <dl>
@@ -1645,7 +1664,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheFailedInsertions</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.358">getBlockCacheFailedInsertions</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.359">getBlockCacheFailedInsertions</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockCacheFailedInsertions()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Number of cache insertions that failed.</div>
 <dl>
@@ -1660,7 +1679,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>forceRecompute</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.362">forceRecompute</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.363">forceRecompute</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#forceRecompute()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Force a re-computation of the metrics.</div>
 <dl>
@@ -1675,7 +1694,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumStores</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.367">getNumStores</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.368">getNumStores</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumStores()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of stores hosted on this region server.</div>
 <dl>
@@ -1690,7 +1709,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumWALFiles</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.372">getNumWALFiles</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.373">getNumWALFiles</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumWALFiles()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of WAL files of this region server.</div>
 <dl>
@@ -1705,7 +1724,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALFileSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.377">getWALFileSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.378">getWALFileSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getWALFileSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the size of WAL files of this region server.</div>
 <dl>
@@ -1720,7 +1739,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumWALSlowAppend</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.382">getNumWALSlowAppend</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.383">getNumWALSlowAppend</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumWALSlowAppend()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of WAL files with slow appends for this region server.</div>
 <dl>
@@ -1735,7 +1754,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumStoreFiles</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.387">getNumStoreFiles</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.388">getNumStoreFiles</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumStoreFiles()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of store files hosted on this region server.</div>
 <dl>
@@ -1750,7 +1769,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getMemstoreSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.392">getMemstoreSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.393">getMemstoreSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMemstoreSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the size of the memstore on this region server.</div>
 <dl>
@@ -1765,7 +1784,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFileSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.397">getStoreFileSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.398">getStoreFileSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getStoreFileSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the total size of the store files this region server is serving from.</div>
 <dl>
@@ -1780,7 +1799,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getRequestsPerSecond</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.401">getRequestsPerSecond</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.402">getRequestsPerSecond</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRequestsPerSecond()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of requests per second.</div>
 <dl>
@@ -1795,7 +1814,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getReadRequestsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.406">getReadRequestsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.407">getReadRequestsCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getReadRequestsCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of read requests to regions hosted on this region server.</div>
 <dl>
@@ -1804,13 +1823,28 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 </dl>
 </li>
 </ul>
+<a name="getFilteredReadRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFilteredReadRequestsCount</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.412">getFilteredReadRequestsCount</a>()</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getFilteredReadRequestsCount()">MetricsRegionServerWrapper</a></code></strong></div>
+<div class="block">Get the number of filtered read requests to regions hosted on this region server.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="getWriteRequestsCount()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteRequestsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.411">getWriteRequestsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.417">getWriteRequestsCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getWriteRequestsCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of write requests to regions hosted on this region server.</div>
 <dl>
@@ -1825,7 +1859,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getCheckAndMutateChecksFailed</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.416">getCheckAndMutateChecksFailed</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.422">getCheckAndMutateChecksFailed</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCheckAndMutateChecksFailed()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of CAS operations that failed.</div>
 <dl>
@@ -1840,7 +1874,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getCheckAndMutateChecksPassed</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.421">getCheckAndMutateChecksPassed</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.427">getCheckAndMutateChecksPassed</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCheckAndMutateChecksPassed()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of CAS operations that passed.</div>
 <dl>
@@ -1855,7 +1889,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFileIndexSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="..

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.html
index 43649ae..22878ab 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.html
@@ -670,7 +670,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.html#line.250">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.html#line.254">hashCode</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -683,7 +683,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockListLast">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.html#line.255">equals</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.html#line.259">equals</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html
index ae70b28..c33fb69 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html
@@ -114,75 +114,81 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getFilteredReadRequestCount()">getFilteredReadRequestCount</a></strong>()</code>
+<div class="block">Get the total number of filtered read requests that have been issued against this region</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getMemstoreSize()">getMemstoreSize</a></strong>()</code>
 <div class="block">Get the size of the memstore on this region server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getNamespace()">getNamespace</a></strong>()</code>
 <div class="block">Get the name of the namespace this table is in.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getNumBytesCompacted()">getNumBytesCompacted</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getNumCompactionsCompleted()">getNumCompactionsCompleted</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getNumFilesCompacted()">getNumFilesCompacted</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getNumStoreFiles()">getNumStoreFiles</a></strong>()</code>
 <div class="block">Get the number of store files hosted on this region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getNumStores()">getNumStores</a></strong>()</code>
 <div class="block">Get the number of stores hosted on this region server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getReadRequestCount()">getReadRequestCount</a></strong>()</code>
 <div class="block">Get the total number of read requests that have been issued against this region</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getRegionHashCode()">getRegionHashCode</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getRegionName()">getRegionName</a></strong>()</code>
 <div class="block">Get the name of the region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getReplicaId()">getReplicaId</a></strong>()</code>
 <div class="block">Get the replica id of this region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getStoreFileSize()">getStoreFileSize</a></strong>()</code>
 <div class="block">Get the total size of the store files this region server is serving from.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getTableName()">getTableName</a></strong>()</code>
 <div class="block">Get the name of the table the region belongs to.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getWriteRequestCount()">getWriteRequestCount</a></strong>()</code>
 <div class="block">Get the total number of mutations that have been issued against this region.</div>
@@ -286,13 +292,23 @@
 <div class="block">Get the total number of read requests that have been issued against this region</div>
 </li>
 </ul>
+<a name="getFilteredReadRequestCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFilteredReadRequestCount</h4>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#line.75">getFilteredReadRequestCount</a>()</pre>
+<div class="block">Get the total number of filtered read requests that have been issued against this region</div>
+</li>
+</ul>
 <a name="getWriteRequestCount()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteRequestCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#line.75">getWriteRequestCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#line.80">getWriteRequestCount</a>()</pre>
 <div class="block">Get the total number of mutations that have been issued against this region.</div>
 </li>
 </ul>
@@ -302,7 +318,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumFilesCompacted</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#line.77">getNumFilesCompacted</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#line.82">getNumFilesCompacted</a>()</pre>
 </li>
 </ul>
 <a name="getNumBytesCompacted()">
@@ -311,7 +327,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumBytesCompacted</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#line.79">getNumBytesCompacted</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#line.84">getNumBytesCompacted</a>()</pre>
 </li>
 </ul>
 <a name="getNumCompactionsCompleted()">
@@ -320,7 +336,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumCompactionsCompleted</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#line.81">getNumCompactionsCompleted</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#line.86">getNumCompactionsCompleted</a>()</pre>
 </li>
 </ul>
 <a name="getRegionHashCode()">
@@ -329,7 +345,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionHashCode</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#line.83">getRegionHashCode</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#line.88">getRegionHashCode</a>()</pre>
 </li>
 </ul>
 <a name="getReplicaId()">
@@ -338,7 +354,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getReplicaId</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#line.88">getReplicaId</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#line.93">getReplicaId</a>()</pre>
 <div class="block">Get the replica id of this region.</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html
index a541433..80271cc 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.139">MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.144">MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></pre>
 </li>
@@ -173,7 +173,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html#line.139">MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html#line.144">MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable</a>()</pre>
 </li>
 </ul>
 </li>
@@ -190,7 +190,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html#line.142">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html#line.147">run</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html
index 2d5f7b6..927b950 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html
@@ -214,75 +214,81 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getFilteredReadRequestCount()">getFilteredReadRequestCount</a></strong>()</code>
+<div class="block">Get the total number of filtered read requests that have been issued against this region</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getMemstoreSize()">getMemstoreSize</a></strong>()</code>
 <div class="block">Get the size of the memstore on this region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getNamespace()">getNamespace</a></strong>()</code>
 <div class="block">Get the name of the namespace this table is in.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getNumBytesCompacted()">getNumBytesCompacted</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getNumCompactionsCompleted()">getNumCompactionsCompleted</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getNumFilesCompacted()">getNumFilesCompacted</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getNumStoreFiles()">getNumStoreFiles</a></strong>()</code>
 <div class="block">Get the number of store files hosted on this region server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getNumStores()">getNumStores</a></strong>()</code>
 <div class="block">Get the number of stores hosted on this region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getReadRequestCount()">getReadRequestCount</a></strong>()</code>
 <div class="block">Get the total number of read requests that have been issued against this region</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getRegionHashCode()">getRegionHashCode</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getRegionName()">getRegionName</a></strong>()</code>
 <div class="block">Get the name of the region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getReplicaId()">getReplicaId</a></strong>()</code>
 <div class="block">Get the replica id of this region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getStoreFileSize()">getStoreFileSize</a></strong>()</code>
 <div class="block">Get the total size of the store files this region server is serving from.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getTableName()">getTableName</a></strong>()</code>
 <div class="block">Get the name of the table the region belongs to.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getWriteRequestCount()">getWriteRequestCount</a></strong>()</code>
 <div class="block">Get the total number of mutations that have been issued against this region.</div>
@@ -538,13 +544,28 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 </dl>
 </li>
 </ul>
+<a name="getFilteredReadRequestCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFilteredReadRequestCount</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.115">getFilteredReadRequestCount</a>()</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getFilteredReadRequestCount()">MetricsRegionWrapper</a></code></strong></div>
+<div class="block">Get the total number of filtered read requests that have been issued against this region</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getFilteredReadRequestCount()">getFilteredReadRequestCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapper</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="getWriteRequestCount()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteRequestCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.115">getWriteRequestCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.120">getWriteRequestCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getWriteRequestCount()">MetricsRegionWrapper</a></code></strong></div>
 <div class="block">Get the total number of mutations that have been issued against this region.</div>
 <dl>
@@ -559,7 +580,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumFilesCompacted</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.120">getNumFilesCompacted</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.125">getNumFilesCompacted</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getNumFilesCompacted()">getNumFilesCompacted</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapper</a></code></dd>
@@ -572,7 +593,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumBytesCompacted</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.125">getNumBytesCompacted</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.130">getNumBytesCompacted</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getNumBytesCompacted()">getNumBytesCompacted</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapper</a></code></dd>
@@ -585,7 +606,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumCompactionsCompleted</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.130">getNumCompactionsCompleted</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.135">getNumCompactionsCompleted</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getNumCompactionsCompleted()">getNumCompactionsCompleted</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapper</a></code></dd>
@@ -598,7 +619,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionHashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.135">getRegionHashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.140">getRegionHashCode</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getRegionHashCode()">getRegionHashCode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapper</a></code></dd>
@@ -611,7 +632,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.162">close</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.167">close</a>()
            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -628,7 +649,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getReplicaId</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.170">getReplicaId</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#line.175">getReplicaId</a>()</pre>
 <div class="block">Get the replica id of this region.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html
index 117df14..9f9de16 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html
@@ -95,7 +95,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.498">Region.BulkLoadListener</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.501">Region.BulkLoadListener</a></pre>
 <div class="block">Listener class to enable callers of
  bulkLoadHFile() to perform any necessary
  pre/post processing of a given bulkload call</div>
@@ -159,7 +159,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareBulkLoad</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html#line.507">prepareBulkLoad</a>(byte[]&nbsp;family,
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html#line.510">prepareBulkLoad</a>(byte[]&nbsp;family,
                      <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before an HFile is actually loaded</div>
@@ -175,7 +175,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>doneBulkLoad</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html#line.515">doneBulkLoad</a>(byte[]&nbsp;family,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html#line.518">doneBulkLoad</a>(byte[]&nbsp;family,
                 <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath)
                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after a successful HFile load</div>
@@ -190,7 +190,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>failedBulkLoad</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html#line.523">failedBulkLoad</a>(byte[]&nbsp;family,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html#line.526">failedBulkLoad</a>(byte[]&nbsp;family,
                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after a failed HFile load</div>

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

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

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

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


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html
index d03724e..658fe8f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatch.html
@@ -292,7951 +292,7969 @@
 <span class="sourceLineNo">284</span><a name="line.284"></a>
 <span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter writeRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  // Number of requests blocked by memstore size.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  // Compaction counters<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>  private final WAL wal;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final HRegionFileSystem fs;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  protected final Configuration conf;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  private final Configuration baseConf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final int rowLockWaitDuration;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  // The internal wait duration to acquire a lock before read/update<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // we can release the IPC handler soon enough to improve the<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // availability of the region server. It can be adjusted by<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  final long busyWaitDuration;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>  // If updating multiple rows in one call, wait longer,<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // we can limit the max multiplier.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  final int maxBusyWaitMultiplier;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  final long maxBusyWaitDuration;<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  // negative number indicates infinite timeout<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * The sequence ID that was encountered when this region was opened.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * scan requests to this region. Requests can override it.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  //<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // are equal to or lower than maxSeqId for each store.<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // The following map is populated when opening the region<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>  /** Saved state from replaying prepare flush cache */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  /**<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   */<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private boolean disallowWritesInRecovering = false;<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  private volatile boolean recovering = false;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>  /**<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * region. Writes older than this readPoint, are included in every<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * read operation.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  public long getSmallestReadPoint() {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    long minimumReadPoint;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    synchronized(scannerReadPoints) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          minimumReadPoint = readPoint;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return minimumReadPoint;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  /*<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * Data structure of write state flags used coordinating flushes,<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * compactions and closes.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  static class WriteState {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // Set while a memstore flush is happening.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    volatile boolean flushing = false;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // Set when a flush has been requested.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    volatile boolean flushRequested = false;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // Number of compactions running.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    volatile boolean writesEnabled = true;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // Set if region is read-only<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    volatile boolean readOnly = false;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    volatile boolean readsEnabled = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>    /**<a name="line.405"></a>
-<span class="sourceLineNo">406</span>     * Set flags that make this region read-only.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     *<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     * @param onOff flip value for region r/o setting<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.writesEnabled = !onOff;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.readOnly = onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>    boolean isReadOnly() {<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return this.flushRequested;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      this.readsEnabled = readsEnabled;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  /**<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * if it didn't flush.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public static class FlushResultImpl implements FlushResult {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    final Result result;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final String failureReason;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final long flushSequenceId;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final boolean wroteFlushWalMarker;<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    /**<a name="line.443"></a>
-<span class="sourceLineNo">444</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * null.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     *                        memstores.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     */<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      this(result, flushSequenceId, null, false);<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>     * Convenience constructor to use when we cannot flush.<a name="line.457"></a>
-<span class="sourceLineNo">458</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>     * @param failureReason Reason why we couldn't flush.<a name="line.459"></a>
-<span class="sourceLineNo">460</span>     */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>    /**<a name="line.466"></a>
-<span class="sourceLineNo">467</span>     * Constructor with all the parameters.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @param result Any of the Result.<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>     */<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      boolean wroteFlushMarker) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      this.result = result;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      this.flushSequenceId = flushSequenceId;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      this.failureReason = failureReason;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      this.wroteFlushWalMarker = wroteFlushMarker;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>    /**<a name="line.480"></a>
-<span class="sourceLineNo">481</span>     * Convenience method, the equivalent of checking if result is<a name="line.481"></a>
-<span class="sourceLineNo">482</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>     * @return true if the memstores were flushed, else false.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>     */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public boolean isFlushSucceeded() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.487"></a>
-<span class="sourceLineNo">488</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>    /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<a name="line.493"></a>
-<span class="sourceLineNo">494</span>     */<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    @Override<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    public boolean isCompactionNeeded() {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    }<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    @Override<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    public String toString() {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      return new StringBuilder()<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        .append("flush result:").append(result).append(", ")<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        .append("flush seq id").append(flushSequenceId).toString();<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    @Override<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    public Result getResult() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      return result;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  }<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span>  /** A result object from prepare flush cache stage */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static class PrepareFlushResult {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    final FlushResult result; // indicating a failure result from prepare<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    final TreeMap&lt;byte[], Long&gt; storeFlushableSize;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    final long startTime;<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    final long flushOpSeqId;<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    final long flushedSeqId;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    final long totalFlushableSize;<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    /** Constructs an early exit case */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    PrepareFlushResult(FlushResult result, long flushSeqId) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, 0);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>    /** Constructs a successful prepare flush result */<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    PrepareFlushResult(<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        flushSeqId, flushedSeqId, totalFlushableSize);<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    }<a name="line.539"></a>
-<span class="sourceLineNo">540</span><a name="line.540"></a>
-<span class="sourceLineNo">541</span>    private PrepareFlushResult(<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      FlushResult result,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      this.result = result;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      this.committedFiles = committedFiles;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      this.startTime = startTime;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      this.flushOpSeqId = flushSeqId;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      this.flushedSeqId = flushedSeqId;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      this.totalFlushableSize = totalFlushableSize;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    }<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    public FlushResult getResult() {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      return this.result;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  final WriteState writestate = new WriteState();<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  long memstoreFlushSize;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  final long timestampSlop;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  final long rowProcessorTimeout;<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  private final ConcurrentMap&lt;Store, Long&gt; lastStoreFlushTimeMap =<a name="line.569"></a>
-<span class="sourceLineNo">570</span>      new ConcurrentHashMap&lt;Store, Long&gt;();<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>  final RegionServerServices rsServices;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private RegionServerAccounting rsAccounting;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  private long flushCheckInterval;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.575"></a>
-<span class="sourceLineNo">576</span>  private long flushPerChanges;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  private long blockingMemStoreSize;<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  final long threadWakeFrequency;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  // Used to guard closes<a name="line.579"></a>
-<span class="sourceLineNo">580</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span>  // Stop updates lock<a name="line.582"></a>
-<span class="sourceLineNo">583</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.583"></a>
-<span class="sourceLineNo">584</span>  private boolean splitRequest;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>  private byte[] explicitSplitPoint = null;<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  // Coprocessor host<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.590"></a>
-<span class="sourceLineNo">591</span><a name="line.591"></a>
-<span class="sourceLineNo">592</span>  private HTableDescriptor htableDescriptor = null;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>  private RegionSplitPolicy splitPolicy;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  private FlushPolicy flushPolicy;<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>  private final MetricsRegion metricsRegion;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>  private final Durability durability;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  private final boolean regionStatsEnabled;<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>  /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   *<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * usually the table directory.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * The wal file is a logfile from the previous execution that's<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * the supplied path.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param fs is the filesystem.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @param confParam is global configuration settings.<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @param regionInfo - HRegionInfo that describes the region<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * is new), then read them from the supplied path.<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param htd the table descriptor<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @deprecated Use other constructors.<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  @Deprecated<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  @VisibleForTesting<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      final Configuration confParam, final HRegionInfo regionInfo,<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.627"></a>
-<span class="sourceLineNo">628</span>      wal, confParam, htd, rsServices);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>  }<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>  /**<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   *<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * @param fs is the filesystem.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * The wal file is a logfile from the previous execution that's<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.640"></a>
-<span class="sourceLineNo">641</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   * the supplied path.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * @param confParam is global configuration settings.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @param htd the table descriptor<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    if (htd == null) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      throw new IllegalArgumentException("Need table descriptor");<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    }<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span>    if (confParam instanceof CompoundConfiguration) {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      throw new IllegalArgumentException("Need original base configuration");<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>    this.wal = wal;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    this.fs = fs;<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    this.baseConf = confParam;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.conf = new CompoundConfiguration()<a name="line.662"></a>
-<span class="sourceLineNo">663</span>      .add(confParam)<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      .addStringMap(htd.getConfiguration())<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      .addBytesMap(htd.getValues());<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.670"></a>
-<span class="sourceLineNo">671</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.673"></a>
-<span class="sourceLineNo">674</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.674"></a>
-<span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span>    this.maxWaitForSeqId = conf.getInt(MAX_WAIT_FOR_SEQ_ID_KEY, DEFAULT_MAX_WAIT_FOR_SEQ_ID);<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    this.htableDescriptor = htd;<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.rsServices = rsServices;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    this.threadWakeFrequency = conf.getLong(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    setHTableSpecificConf();<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;RegionScanner, Long&gt;();<a name="line.682"></a>
-<span class="sourceLineNo">683</span><a name="line.683"></a>
-<span class="sourceLineNo">684</span>    this.busyWaitDuration = conf.getLong(<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.688"></a>
-<span class="sourceLineNo">689</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.689"></a>
-<span class="sourceLineNo">690</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    }<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>    /*<a name="line.695"></a>
-<span class="sourceLineNo">696</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.698"></a>
-<span class="sourceLineNo">699</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.699"></a>
-<span class="sourceLineNo">700</span>     */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    this.timestampSlop = conf.getLong(<a name="line.701"></a>
-<span class="sourceLineNo">702</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        HConstants.LATEST_TIMESTAMP);<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>    /**<a name="line.705"></a>
-<span class="sourceLineNo">706</span>     * Timeout for the process time in processRowsWithLocks().<a name="line.706"></a>
-<span class="sourceLineNo">707</span>     * Use -1 to switch off time bound.<a name="line.707"></a>
-<span class="sourceLineNo">708</span>     */<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    this.durability = htd.getDurability() == Durability.USE_DEFAULT<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        ? DEFAULT_DURABILITY<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        : htd.getDurability();<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    if (rsServices != null) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>      Map&lt;String, Region&gt; recoveringRegions = rsServices.getRecoveringRegions();<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      String encodedName = getRegionInfo().getEncodedName();<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      if (recoveringRegions != null &amp;&amp; recoveringRegions.containsKey(encodedName)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        this.recovering = true;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        recoveringRegions.put(encodedName, this);<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      }<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    } else {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.metricsRegionWrapper = null;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      this.metricsRegion = null;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    if (LOG.isDebugEnabled()) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      // Write out region name as string and its encoded name.<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      LOG.debug("Instantiated " + this);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>    }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>    // by default, we allow writes against a region when it's in recovering<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    this.disallowWritesInRecovering =<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        conf.getBoolean(HConstants.DISALLOW_WRITES_IN_RECOVERING,<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          HConstants.DEFAULT_DISALLOW_WRITES_IN_RECOVERING_CONFIG);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    configurationManager = Optional.absent();<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.744"></a>
-<span class="sourceLineNo">745</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          false :<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.747"></a>
-<span class="sourceLineNo">748</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  }<a name="line.749"></a>
-<span class="sourceLineNo">750</span><a name="line.750"></a>
-<span class="sourceLineNo">751</span>  void setHTableSpecificConf() {<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    if (this.htableDescriptor == null) return;<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.753"></a>
-<span class="sourceLineNo">754</span><a name="line.754"></a>
-<span class="sourceLineNo">755</span>    if (flushSize &lt;= 0) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        HTableDescriptor.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    this.memstoreFlushSize = flushSize;<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.760"></a>
-<span class="sourceLineNo">761</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  }<a name="line.763"></a>
-<span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>  /**<a name="line.765"></a>
-<span class="sourceLineNo">766</span>   * Initialize this region.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * You should use createHRegion() or openHRegion()<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * @return What the next sequence (edit) id should be.<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * @throws IOException e<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   */<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  @Deprecated<a name="line.773"></a>
-<span class="sourceLineNo">774</span>  public long initialize() throws IOException {<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    return initialize(null);<a name="line.775"></a>
-<span class="sourceLineNo">776</span>  }<a name="line.776"></a>
-<span class="sourceLineNo">777</span><a name="line.777"></a>
-<span class="sourceLineNo">778</span>  /**<a name="line.778"></a>
-<span class="sourceLineNo">779</span>   * Initialize this region.<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   *<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * @return What the next sequence (edit) id should be.<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * @throws IOException e<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   */<a name="line.784"></a>
-<span class="sourceLineNo">785</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    long nextSeqId = -1;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    try {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.789"></a>
-<span class="sourceLineNo">790</span>      return nextSeqId;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    } finally {<a name="line.791"></a>
-<span class="sourceLineNo">792</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      // At least it will be 0 otherwise.<a name="line.793"></a>
-<span class="sourceLineNo">794</span>      if (nextSeqId == -1) {<a name="line.794"></a>
-<span class="sourceLineNo">795</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.795"></a>
-<span class="sourceLineNo">796</span>          " initialization.");<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      }<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span>  }<a name="line.799"></a>
-<span class="sourceLineNo">800</span><a name="line.800"></a>
-<span class="sourceLineNo">801</span>  private long initializeRegionInternals(final CancelableProgressable reporter,<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      final MonitoredTask status) throws IOException {<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    if (coprocessorHost != null) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      status.setStatus("Running coprocessor pre-open hook");<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      coprocessorHost.preOpen();<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    // Write HRI to a file in case we need to recover hbase:meta<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    status.setStatus("Writing region info on filesystem");<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    fs.checkRegionInfoOnFilesystem();<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    // Initialize all the HStores<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    status.setStatus("Initializing all the Stores");<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    long maxSeqId = initializeStores(reporter, status);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    this.mvcc.advanceTo(maxSeqId);<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    if (ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      // Recover any edits if available.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      maxSeqId = Math.max(maxSeqId,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>        replayRecoveredEditsIfAny(this.fs.getRegionDir(), maxSeqIdInStores, reporter, status));<a name="line.819"></a>
-<span class="sourceLineNo">820</span>      // Make sure mvcc is up to max.<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.mvcc.advanceTo(maxSeqId);<a name="line.821"></a>
-<span class="sourceLineNo">822</span>    }<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    this.lastReplayedOpenRegionSeqId = maxSeqId;<a name="line.823"></a>
-<span class="sourceLineNo">824</span><a name="line.824"></a>
-<span class="sourceLineNo">825</span>    this.writestate.setReadOnly(ServerRegionReplicaUtil.isReadOnly(this));<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    this.writestate.flushRequested = false;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    this.writestate.compacting.set(0);<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span>    if (this.writestate.writesEnabled) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      // Remove temporary data left over from old regions<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      status.setStatus("Cleaning up temporary data from old regions");<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      fs.cleanupTempDir();<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
-<span class="sourceLineNo">834</span><a name="line.834"></a>
-<span class="sourceLineNo">835</span>    if (this.writestate.writesEnabled) {<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      status.setStatus("Cleaning up detritus from prior splits");<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      // Get rid of any splits or merges that were lost in-progress.  Clean out<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      // these directories here on open.  We may be opening a region that was<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      // being split but we crashed in the middle of it all.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>      fs.cleanupAnySplitDetritus();<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      fs.cleanupMergesDir();<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Initialize split policy<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    this.splitPolicy = RegionSplitPolicy.create(this, conf);<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span>    // Initialize flush policy<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    this.flushPolicy = FlushPolicyFactory.create(this, conf);<a name="line.848"></a>
-<span class="sourceLineNo">849</span><a name="line.849"></a>
-<span class="sourceLineNo">850</span>    long lastFlushTime = EnvironmentEdgeManager.currentTime();<a name="line.850"></a>
-<span class="sourceLineNo">851</span>    for (Store store: stores.values()) {<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      this.lastStoreFlushTimeMap.put(store, lastFlushTime);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>    // Use maximum of log sequenceid or that which was found in stores<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    // (particularly if no recovered edits, seqid will be -1).<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    long nextSeqid = maxSeqId;<a name="line.857"></a>
-<span class="sourceLineNo">858</span><a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // In distributedLogReplay mode, we don't know the last change sequence number because region<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // is opened before recovery completes. So we add a safety bumper to avoid new sequence number<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    // overlaps used sequence numbers<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (this.writestate.writesEnabled) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      nextSeqid = WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs<a name="line.863"></a>
-<span class="sourceLineNo">864</span>          .getRegionDir(), nextSeqid, (this.recovering ? (this.flushPerChanges + 10000000) : 1));<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    } else {<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      nextSeqid++;<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>    LOG.info("Onlined " + this.getRegionInfo().getShortNameToLog() +<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      "; next sequenceid=" + nextSeqid);<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    // A region can be reopened if failed a split; reset flags<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    this.closing.set(false);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    this.closed.set(false);<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    if (coprocessorHost != null) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      status.setStatus("Running coprocessor post-open hooks");<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      coprocessorHost.postOpen();<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span>    status.markComplete("Region opened successfully");<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    return nextSeqid;<a name="line.882"></a>
-<span class="sourceLineNo">883</span>  }<a name="line.883"></a>
-<span class="sourceLineNo">884</span><a name="line.884"></a>
-<span class="sourceLineNo">885</span>  /**<a name="line.885"></a>
-<span class="sourceLineNo">886</span>   * Open all Stores.<a name="line.886"></a>
-<span class="sourceLineNo">887</span>   * @param reporter<a name="line.887"></a>
-<span class="sourceLineNo">888</span>   * @param status<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * @return Highest sequenceId found out in a Store.<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * @throws IOException<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   */<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  private long initializeStores(final CancelableProgressable reporter, MonitoredTask status)<a name="line.892"></a>
-<span class="sourceLineNo">893</span>  throws IOException {<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    // Load in all the HStores.<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    long maxSeqId = -1;<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    // initialized to -1 so that we pick up MemstoreTS from column families<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    long maxMemstoreTS = -1;<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    if (!htableDescriptor.getFamilies().isEmpty()) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      // initialize the thread pool for opening stores in parallel.<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      ThreadPoolExecutor storeOpenerThreadPool =<a name="line.902"></a>
-<span class="sourceLineNo">903</span>        getStoreOpenAndCloseThreadPool("StoreOpener-" + this.getRegionInfo().getShortNameToLog());<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      CompletionService&lt;HStore&gt; completionService =<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        new ExecutorCompletionService&lt;HStore&gt;(storeOpenerThreadPool);<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span>      // initialize each store in parallel<a name="line.907"></a>
-<span class="sourceLineNo">908</span>      for (final HColumnDescriptor family : htableDescriptor.getFamilies()) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        status.setStatus("Instantiating store for column family " + family);<a name="line.909"></a>
-<span class="sourceLineNo">910</span>        completionService.submit(new Callable&lt;HStore&gt;() {<a name="line.910"></a>
-<span class="sourceLineNo">911</span>          @Override<a name="line.911"></a>
-<span class="sourceLineNo">912</span>          public HStore call() throws IOException {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>            return instantiateHStore(family);<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>      boolean allStoresOpened = false;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>      try {<a name="line.918"></a>
-<span class="sourceLineNo">919</span>        for (int i = 0; i &lt; htableDescriptor.getFamilies().size(); i++) {<a name="line.919"></a>
-<span class="sourceLineNo">920</span>          Future&lt;HStore&gt; future = completionService.take();<a name="line.920"></a>
-<span class="sourceLineNo">921</span>          HStore store = future.get();<a name="line.921"></a>
-<span class="sourceLineNo">922</span>          this.stores.put(store.getFamily().getName(), store);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>          long storeMaxSequenceId = store.getMaxSequenceId();<a name="line.924"></a>
-<span class="sourceLineNo">925</span>          maxSeqIdInStores.put(store.getColumnFamilyName().getBytes(),<a name="line.925"></a>
-<span class="sourceLineNo">926</span>              storeMaxSequenceId);<a name="line.926"></a>
-<span class="sourceLineNo">927</span>          if (maxSeqId == -1 || storeMaxSequenceId &gt; maxSeqId) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>            maxSeqId = storeMaxSequenceId;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>          }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>          long maxStoreMemstoreTS = store.getMaxMemstoreTS();<a name="line.930"></a>
-<span class="sourceLineNo">931</span>          if (maxStoreMemstoreTS &gt; maxMemstoreTS) {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>            maxMemstoreTS = maxStoreMemstoreTS;<a name="line.932"></a>
-<span class="sourceLineNo">933</span>          }<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        }<a name="line.934"></a>
-<span class="sourceLineNo">935</span>        allStoresOpened = true;<a name="line.935"></a>
-<span class="sourceLineNo">936</span>      } catch (InterruptedException e) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>        throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>      } catch (ExecutionException e) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span>        throw new IOException(e.getCause());<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      } finally {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        storeOpenerThreadPool.shutdownNow();<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        if (!allStoresOpened) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>          // something went wrong, close all opened stores<a name="line.943"></a>
-<span class="sourceLineNo">944</span>          LOG.error("Could not initialize all stores for the region=" + this);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>          for (Store store : this.stores.values()) {<a name="line.945"></a>
-<span class="sourceLineNo">946</span>            try {<a name="line.946"></a>
-<span class="sourceLineNo">947</span>              store.close();<a name="line.947"></a>
-<span class="sourceLineNo">948</span>            } catch (IOException e) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>              LOG.warn(e.getMessage());<a name="line.949"></a>
-<span class="sourceLineNo">950</span>            }<a name="line.950"></a>
-<span class="sourceLineNo">951</span>          }<a name="line.951"></a>
-<span class="sourceLineNo">952</span>        }<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      }<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    return Math.max(maxSeqId, maxMemstoreTS + 1);<a name="line.955"></a>
-<span class="sourceLineNo">956</span>  }<a name="line.956"></a>
-<span class="sourceLineNo">957</span><a name="line.957"></a>
-<span class="sourceLineNo">958</span>  private void initializeWarmup(final CancelableProgressable reporter) throws IOException {<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.959"></a>
-<span class="sourceLineNo">960</span><a name="line.960"></a>
-<span class="sourceLineNo">961</span>    // Initialize all the HStores<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    status.setStatus("Warming up all the Stores");<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    initializeStores(reporter, status);<a name="line.963"></a>
-<span class="sourceLineNo">964</span>  }<a name="line.964"></a>
-<span class="sourceLineNo">965</span><a name="line.965"></a>
-<span class="sourceLineNo">966</span>  /**<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   * @return Map of StoreFiles by column family<a name="line.967"></a>
-<span class="sourceLineNo">968</span>   */<a name="line.968"></a>
-<span class="sourceLineNo">969</span>  private NavigableMap&lt;byte[], List&lt;Path&gt;&gt; getStoreFiles() {<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    NavigableMap&lt;byte[], List&lt;Path&gt;&gt; allStoreFiles =<a name="line.970"></a>
-<span class="sourceLineNo">971</span>      new TreeMap&lt;byte[], List&lt;Path&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    for (Store store: getStores()) {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.973"></a>
-<span class="sourceLineNo">974</span>      if (storeFiles == null) continue;<a name="line.974"></a>
-<span class="sourceLineNo">975</span>      List&lt;Path&gt; storeFileNames = new ArrayList&lt;Path&gt;();<a name="line.975"></a>
-<span class="sourceLineNo">976</span>      for (StoreFile storeFile: storeFiles) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>        storeFileNames.add(storeFile.getPath());<a name="line.977"></a>
-<span class="sourceLineNo">978</span>      }<a name="line.978"></a>
-<span class="sourceLineNo">979</span>      allStoreFiles.put(store.getFamily().getName(), storeFileNames);<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    }<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    return allStoreFiles;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>  }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>  private void writeRegionOpenMarker(WAL wal, long openSeqId) throws IOException {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    RegionEventDescriptor regionOpenDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      RegionEventDescriptor.EventType.REGION_OPEN, getRegionInfo(), openSeqId,<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.988"></a>
-<span class="sourceLineNo">989</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionOpenDesc, mvcc);<a name="line.989"></a>
-<span class="sourceLineNo">990</span>  }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>  private void writeRegionCloseMarker(WAL wal) throws IOException {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    RegionEventDescriptor regionEventDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.994"></a>
-<span class="sourceLineNo">995</span>      RegionEventDescriptor.EventType.REGION_CLOSE, getRegionInfo(), mvcc.getReadPoint(),<a name="line.995"></a>
-<span class="sourceLineNo">996</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionEventDesc, mvcc);<a name="line.997"></a>
-<span class="sourceLineNo">998</span><a name="line.998"></a>
-<span class="sourceLineNo">999</span>    // Store SeqId in HDFS when a region closes<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    // checking region folder exists is due to many tests which delete the table folder while a<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    // table is still online<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    if (this.fs.getFileSystem().exists(this.fs.getRegionDir())) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>      WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs.getRegionDir(),<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>        mvcc.getReadPoint(), 0);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>    }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>  }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>  /**<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>   * @return True if this region has references.<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>   */<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>  public boolean hasReferences() {<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    for (Store store : this.stores.values()) {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      if (store.hasReferences()) return true;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>    return false;<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>  }<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span><a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  @Override<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  public HDFSBlocksDistribution getHDFSBlocksDistribution() {<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      new HDFSBlocksDistribution();<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    synchronized (this.stores) {<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>      for (Store store : this.stores.values()) {<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>        Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>        if (storeFiles == null) continue;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>        for (StoreFile sf : storeFiles) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>          HDFSBlocksDistribution storeFileBlocksDistribution =<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>            sf.getHDFSBlockDistribution();<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>          hdfsBlocksDistribution.add(storeFileBlocksDistribution);<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>    }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>    return hdfsBlocksDistribution;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>  /**<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>   * @param conf configuration<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>   * @param regionInfo encoded name of the region<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   * @throws IOException<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   */<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo) throws IOException {<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    Path tablePath = FSUtils.getTableDir(FSUtils.getRootDir(conf), tableDescriptor.getTableName());<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>    return computeHDFSBlocksDistribution(conf, tableDescriptor, regionInfo, tablePath);<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  }<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span><a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  /**<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>   * @param conf configuration<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * @param regionInfo encoded name of the region<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * @param tablePath the table directory<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>   * @throws IOException<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>   */<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo,  Path tablePath)<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>      throws IOException {<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    HDFSBlocksDistribution hdfsBlocksDistribution = new HDFSBlocksDistribution();<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>    FileSystem fs = tablePath.getFileSystem(conf);<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span><a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    HRegionFileSystem regionFs = new HRegionFileSystem(conf, fs, tablePath, regionInfo);<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    for (HColumnDescriptor family: tableDescriptor.getFamilies()) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      Collection&lt;StoreFileInfo&gt; storeFiles = regionFs.getStoreFiles(family.getNameAsString());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>      if (storeFiles == null) continue;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>      for (StoreFileInfo storeFileInfo : storeFiles) {<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>        try {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>          hdfsBlocksDistribution.add(storeFileInfo.computeHDFSBlocksDistribution(fs));<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        } catch (IOException ioe) {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>          LOG.warn("Error getting hdfs block distribution for " + storeFileInfo);<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>        }<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    return hdfsBlocksDistribution;<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>  /**<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>   * Increase the size of mem store in this region and the size of global mem<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>   * store<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>   * @return the size of memstore in this region<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   */<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>  public long addAndGetGlobalMemstoreSize(long memStoreSize) {<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    if (this.rsAccounting != null) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>      rsAccounting.addAndGetGlobalMemstoreSize(memStoreSize);<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>    }<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    return this.memstoreSize.addAndGet(memStoreSize);<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  }<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span><a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>  @Override<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>  public HRegionInfo getRegionInfo() {<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>    return this.fs.getRegionInfo();<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  }<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>   * @return Instance of {@link RegionServerServices} used by this HRegion.<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * Can be null.<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   */<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>  RegionServerServices getRegionServerServices() {<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    return this.rsServices;<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  }<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span><a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  @Override<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>  public long getReadRequestsCount() {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    return readRequestsCount.get();<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>  }<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span><a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>  @Override<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  public void updateReadRequestsCount(long i) {<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>    readRequestsCount.add(i);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  }<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  @Override<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  public long getWriteRequestsCount() {<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    return writeRequestsCount.get();<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>  @Override<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public void updateWriteRequestsCount(long i) {<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    writeRequestsCount.add(i);<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  }<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span><a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  @Override<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  public long getMemstoreSize() {<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>    return memstoreSize.get();<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  }<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span><a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>  @Override<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  public long getNumMutationsWithoutWAL() {<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>    return numMutationsWithoutWAL.get();<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>  }<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  @Override<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public long getDataInMemoryWithoutWAL() {<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    return dataInMemoryWithoutWAL.get();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span><a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>  @Override<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  public long getBlockedRequestsCount() {<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>    return blockedRequestsCount.get();<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>  }<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span><a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  @Override<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  public long getCheckAndMutateChecksPassed() {<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    return checkAndMutateChecksPassed.get();<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>  @Override<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>  public long getCheckAndMutateChecksFailed() {<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    return checkAndMutateChecksFailed.get();<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>  }<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span><a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  @Override<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>  public MetricsRegion getMetrics() {<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    return metricsRegion;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>  }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span><a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>  @Override<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public boolean isClosed() {<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>    return this.closed.get();<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  }<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span><a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  @Override<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  public boolean isClosing() {<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>    return this.closing.get();<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  }<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>  @Override<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>  public boolean isReadOnly() {<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>    return this.writestate.isReadOnly();<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>  }<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span><a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>  /**<a name="line.1175"></a>
-<span class="sourceLineNo">1176</

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html b/devapidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html
index 1949974..87f3def 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html
@@ -57,281 +57,289 @@
 <span class="sourceLineNo">049</span>  private int memstoreSizeMB = 0;<a name="line.49"></a>
 <span class="sourceLineNo">050</span>  private int storefileIndexSizeMB = 0;<a name="line.50"></a>
 <span class="sourceLineNo">051</span>  private long readRequestsCount = 0;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  private long writeRequestsCount = 0;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private int rootIndexSizeKB = 0;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  private int totalStaticIndexSizeKB = 0;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  private int totalStaticBloomSizeKB = 0;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private long totalCompactingKVs = 0;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  private long currentCompactedKVs = 0;<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public ServerLoad(ClusterStatusProtos.ServerLoad serverLoad) {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    this.serverLoad = serverLoad;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    for (ClusterStatusProtos.RegionLoad rl: serverLoad.getRegionLoadsList()) {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>      stores += rl.getStores();<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      storefiles += rl.getStorefiles();<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      storeUncompressedSizeMB += rl.getStoreUncompressedSizeMB();<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      storefileSizeMB += rl.getStorefileSizeMB();<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      memstoreSizeMB += rl.getMemstoreSizeMB();<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      storefileIndexSizeMB += rl.getStorefileIndexSizeMB();<a name="line.67"></a>
-<span class="sourceLineNo">068</span>      readRequestsCount += rl.getReadRequestsCount();<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      writeRequestsCount += rl.getWriteRequestsCount();<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      rootIndexSizeKB += rl.getRootIndexSizeKB();<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      totalStaticIndexSizeKB += rl.getTotalStaticIndexSizeKB();<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      totalStaticBloomSizeKB += rl.getTotalStaticBloomSizeKB();<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      totalCompactingKVs += rl.getTotalCompactingKVs();<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      currentCompactedKVs += rl.getCurrentCompactedKVs();<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    }<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
+<span class="sourceLineNo">052</span>  private long filteredReadRequestsCount = 0;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  private long writeRequestsCount = 0;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  private int rootIndexSizeKB = 0;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  private int totalStaticIndexSizeKB = 0;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private int totalStaticBloomSizeKB = 0;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private long totalCompactingKVs = 0;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private long currentCompactedKVs = 0;<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public ServerLoad(ClusterStatusProtos.ServerLoad serverLoad) {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    this.serverLoad = serverLoad;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    for (ClusterStatusProtos.RegionLoad rl: serverLoad.getRegionLoadsList()) {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>      stores += rl.getStores();<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      storefiles += rl.getStorefiles();<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      storeUncompressedSizeMB += rl.getStoreUncompressedSizeMB();<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      storefileSizeMB += rl.getStorefileSizeMB();<a name="line.66"></a>
+<span class="sourceLineNo">067</span>      memstoreSizeMB += rl.getMemstoreSizeMB();<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      storefileIndexSizeMB += rl.getStorefileIndexSizeMB();<a name="line.68"></a>
+<span class="sourceLineNo">069</span>      readRequestsCount += rl.getReadRequestsCount();<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      filteredReadRequestsCount += rl.getFilteredReadRequestsCount();<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      writeRequestsCount += rl.getWriteRequestsCount();<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      rootIndexSizeKB += rl.getRootIndexSizeKB();<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      totalStaticIndexSizeKB += rl.getTotalStaticIndexSizeKB();<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      totalStaticBloomSizeKB += rl.getTotalStaticBloomSizeKB();<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      totalCompactingKVs += rl.getTotalCompactingKVs();<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      currentCompactedKVs += rl.getCurrentCompactedKVs();<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    }<a name="line.77"></a>
 <span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  // NOTE: Function name cannot start with "get" because then an OpenDataException is thrown because<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  // HBaseProtos.ServerLoad cannot be converted to an open data type(see HBASE-5967).<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  /* @return the underlying ServerLoad protobuf object */<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  public ClusterStatusProtos.ServerLoad obtainServerLoadPB() {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    return serverLoad;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>  protected ClusterStatusProtos.ServerLoad serverLoad;<a name="line.86"></a>
+<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  // NOTE: Function name cannot start with "get" because then an OpenDataException is thrown because<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  // HBaseProtos.ServerLoad cannot be converted to an open data type(see HBASE-5967).<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  /* @return the underlying ServerLoad protobuf object */<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  public ClusterStatusProtos.ServerLoad obtainServerLoadPB() {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    return serverLoad;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
 <span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  /* @return number of requests  since last report. */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public long getNumberOfRequests() {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    return serverLoad.getNumberOfRequests();<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public boolean hasNumberOfRequests() {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    return serverLoad.hasNumberOfRequests();<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  /* @return total Number of requests from the start of the region server. */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  public long getTotalNumberOfRequests() {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    return serverLoad.getTotalNumberOfRequests();<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public boolean hasTotalNumberOfRequests() {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    return serverLoad.hasTotalNumberOfRequests();<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span>  /* @return the amount of used heap, in MB. */<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  public int getUsedHeapMB() {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    return serverLoad.getUsedHeapMB();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  }<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  public boolean hasUsedHeapMB() {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    return serverLoad.hasUsedHeapMB();<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  }<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>  /* @return the maximum allowable size of the heap, in MB. */<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public int getMaxHeapMB() {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    return serverLoad.getMaxHeapMB();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public boolean hasMaxHeapMB() {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    return serverLoad.hasMaxHeapMB();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>  public int getStores() {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    return stores;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  }<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  public int getStorefiles() {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    return storefiles;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  }<a name="line.126"></a>
-<span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>  public int getStoreUncompressedSizeMB() {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    return storeUncompressedSizeMB;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>  public int getStorefileSizeInMB() {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    return storefileSizeMB;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
-<span class="sourceLineNo">135</span><a name="line.135"></a>
-<span class="sourceLineNo">136</span>  public int getMemstoreSizeInMB() {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    return memstoreSizeMB;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  public int getStorefileIndexSizeInMB() {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    return storefileIndexSizeMB;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public long getReadRequestsCount() {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    return readRequestsCount;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  public long getWriteRequestsCount() {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    return writeRequestsCount;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public int getRootIndexSizeKB() {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    return rootIndexSizeKB;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public int getTotalStaticIndexSizeKB() {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return totalStaticIndexSizeKB;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  public int getTotalStaticBloomSizeKB() {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    return totalStaticBloomSizeKB;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>  public long getTotalCompactingKVs() {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return totalCompactingKVs;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  }<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>  public long getCurrentCompactedKVs() {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    return currentCompactedKVs;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
-<span class="sourceLineNo">171</span><a name="line.171"></a>
-<span class="sourceLineNo">172</span>  /**<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   * @return the number of regions<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   */<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public int getNumberOfRegions() {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    return serverLoad.getRegionLoadsCount();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>  public int getInfoServerPort() {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return serverLoad.getInfoServerPort();<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  /**<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   * Call directly from client such as hbase shell<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   * @return the list of ReplicationLoadSource<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  public List&lt;ReplicationLoadSource&gt; getReplicationLoadSourceList() {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    return ProtobufUtil.toReplicationLoadSourceList(serverLoad.getReplLoadSourceList());<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  }<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  /**<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   * Call directly from client such as hbase shell<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @return ReplicationLoadSink<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   */<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public ReplicationLoadSink getReplicationLoadSink() {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    if (serverLoad.hasReplLoadSink()) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      return ProtobufUtil.toReplicationLoadSink(serverLoad.getReplLoadSink());<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    } else {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return null;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /**<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   * Originally, this method factored in the effect of requests going to the<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * server as well. However, this does not interact very well with the current<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * region rebalancing code, which only factors number of regions. For the<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * interim, until we can figure out how to make rebalancing use all the info<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * available, we're just going to make load purely the number of regions.<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   *<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * @return load factor for this server<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   */<a name="line.211"></a>
-<span class="sourceLineNo">212</span>  public int getLoad() {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // See above comment<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    // int load = numberOfRequests == 0 ? 1 : numberOfRequests;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // load *= numberOfRegions == 0 ? 1 : numberOfRegions;<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    // return load;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    return getNumberOfRegions();<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  /**<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * @return region load metrics<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public Map&lt;byte[], RegionLoad&gt; getRegionsLoad() {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    Map&lt;byte[], RegionLoad&gt; regionLoads =<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      new TreeMap&lt;byte[], RegionLoad&gt;(Bytes.BYTES_COMPARATOR);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    for (ClusterStatusProtos.RegionLoad rl : serverLoad.getRegionLoadsList()) {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      RegionLoad regionLoad = new RegionLoad(rl);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      regionLoads.put(regionLoad.getName(), regionLoad);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    return regionLoads;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  }<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span>  /**<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   * Return the RegionServer-level coprocessors<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   * @return string array of loaded RegionServer-level coprocessors<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  public String[] getRegionServerCoprocessors() {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    List&lt;Coprocessor&gt; list = obtainServerLoadPB().getCoprocessorsList();<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    String [] ret = new String[list.size()];<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    int i = 0;<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    for (Coprocessor elem : list) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      ret[i++] = elem.getName();<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>    return ret;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  /**<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * Return the RegionServer-level and Region-level coprocessors<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * @return string array of loaded RegionServer-level and<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   *         Region-level coprocessors<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  public String[] getRsCoprocessors() {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    // Need a set to remove duplicates, but since generated Coprocessor class<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    // is not Comparable, make it a Set&lt;String&gt; instead of Set&lt;Coprocessor&gt;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    TreeSet&lt;String&gt; coprocessSet = new TreeSet&lt;String&gt;();<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    for (Coprocessor coprocessor : obtainServerLoadPB().getCoprocessorsList()) {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      coprocessSet.add(coprocessor.getName());<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    return coprocessSet.toArray(new String[coprocessSet.size()]);<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * @return number of requests per second received since the last report<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public double getRequestsPerSecond() {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    return getNumberOfRequests();<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /**<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   * @see java.lang.Object#toString()<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   */<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  @Override<a name="line.273"></a>
-<span class="sourceLineNo">274</span>  public String toString() {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>     StringBuilder sb =<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        Strings.appendKeyValue(new StringBuilder(), "requestsPerSecond",<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          Double.valueOf(getRequestsPerSecond()));<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    Strings.appendKeyValue(sb, "numberOfOnlineRegions", Integer.valueOf(getNumberOfRegions()));<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    sb = Strings.appendKeyValue(sb, "usedHeapMB", Integer.valueOf(this.getUsedHeapMB()));<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    sb = Strings.appendKeyValue(sb, "maxHeapMB", Integer.valueOf(getMaxHeapMB()));<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    sb = Strings.appendKeyValue(sb, "numberOfStores", Integer.valueOf(this.stores));<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    sb = Strings.appendKeyValue(sb, "numberOfStorefiles", Integer.valueOf(this.storefiles));<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    sb =<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        Strings.appendKeyValue(sb, "storefileUncompressedSizeMB",<a name="line.284"></a>
-<span class="sourceLineNo">285</span>          Integer.valueOf(this.storeUncompressedSizeMB));<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    sb = Strings.appendKeyValue(sb, "storefileSizeMB", Integer.valueOf(this.storefileSizeMB));<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    if (this.storeUncompressedSizeMB != 0) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      sb =<a name="line.288"></a>
-<span class="sourceLineNo">289</span>          Strings.appendKeyValue(<a name="line.289"></a>
-<span class="sourceLineNo">290</span>            sb,<a name="line.290"></a>
-<span class="sourceLineNo">291</span>            "compressionRatio",<a name="line.291"></a>
-<span class="sourceLineNo">292</span>            String.format("%.4f", (float) this.storefileSizeMB<a name="line.292"></a>
-<span class="sourceLineNo">293</span>                / (float) this.storeUncompressedSizeMB));<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    sb = Strings.appendKeyValue(sb, "memstoreSizeMB", Integer.valueOf(this.memstoreSizeMB));<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    sb =<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        Strings.appendKeyValue(sb, "storefileIndexSizeMB",<a name="line.297"></a>
-<span class="sourceLineNo">298</span>          Integer.valueOf(this.storefileIndexSizeMB));<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    sb = Strings.appendKeyValue(sb, "readRequestsCount", Long.valueOf(this.readRequestsCount));<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    sb = Strings.appendKeyValue(sb, "writeRequestsCount", Long.valueOf(this.writeRequestsCount));<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    sb = Strings.appendKeyValue(sb, "rootIndexSizeKB", Integer.valueOf(this.rootIndexSizeKB));<a name="line.301"></a>
+<span class="sourceLineNo">088</span>  protected ClusterStatusProtos.ServerLoad serverLoad;<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>  /* @return number of requests  since last report. */<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  public long getNumberOfRequests() {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    return serverLoad.getNumberOfRequests();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  public boolean hasNumberOfRequests() {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    return serverLoad.hasNumberOfRequests();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  /* @return total Number of requests from the start of the region server. */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public long getTotalNumberOfRequests() {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    return serverLoad.getTotalNumberOfRequests();<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  public boolean hasTotalNumberOfRequests() {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    return serverLoad.hasTotalNumberOfRequests();<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  /* @return the amount of used heap, in MB. */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  public int getUsedHeapMB() {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    return serverLoad.getUsedHeapMB();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  }<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  public boolean hasUsedHeapMB() {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    return serverLoad.hasUsedHeapMB();<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  /* @return the maximum allowable size of the heap, in MB. */<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public int getMaxHeapMB() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return serverLoad.getMaxHeapMB();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public boolean hasMaxHeapMB() {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return serverLoad.hasMaxHeapMB();<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  public int getStores() {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    return stores;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>  public int getStorefiles() {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    return storefiles;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  }<a name="line.128"></a>
+<span class="sourceLineNo">129</span><a name="line.129"></a>
+<span class="sourceLineNo">130</span>  public int getStoreUncompressedSizeMB() {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    return storeUncompressedSizeMB;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
+<span class="sourceLineNo">133</span><a name="line.133"></a>
+<span class="sourceLineNo">134</span>  public int getStorefileSizeInMB() {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    return storefileSizeMB;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  }<a name="line.136"></a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  public int getMemstoreSizeInMB() {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    return memstoreSizeMB;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span>  public int getStorefileIndexSizeInMB() {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    return storefileIndexSizeMB;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  }<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>  public long getReadRequestsCount() {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    return readRequestsCount;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public long getFilteredReadRequestsCount() {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return filteredReadRequestsCount;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  public long getWriteRequestsCount() {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    return writeRequestsCount;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>  public int getRootIndexSizeKB() {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    return rootIndexSizeKB;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
+<span class="sourceLineNo">161</span><a name="line.161"></a>
+<span class="sourceLineNo">162</span>  public int getTotalStaticIndexSizeKB() {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return totalStaticIndexSizeKB;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public int getTotalStaticBloomSizeKB() {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    return totalStaticBloomSizeKB;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  }<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>  public long getTotalCompactingKVs() {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    return totalCompactingKVs;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  }<a name="line.172"></a>
+<span class="sourceLineNo">173</span><a name="line.173"></a>
+<span class="sourceLineNo">174</span>  public long getCurrentCompactedKVs() {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    return currentCompactedKVs;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  }<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>  /**<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   * @return the number of regions<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   */<a name="line.180"></a>
+<span class="sourceLineNo">181</span>  public int getNumberOfRegions() {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    return serverLoad.getRegionLoadsCount();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>  public int getInfoServerPort() {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    return serverLoad.getInfoServerPort();<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>  /**<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   * Call directly from client such as hbase shell<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * @return the list of ReplicationLoadSource<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   */<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  public List&lt;ReplicationLoadSource&gt; getReplicationLoadSourceList() {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    return ProtobufUtil.toReplicationLoadSourceList(serverLoad.getReplLoadSourceList());<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  }<a name="line.195"></a>
+<span class="sourceLineNo">196</span><a name="line.196"></a>
+<span class="sourceLineNo">197</span>  /**<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * Call directly from client such as hbase shell<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   * @return ReplicationLoadSink<a name="line.199"></a>
+<span class="sourceLineNo">200</span>   */<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  public ReplicationLoadSink getReplicationLoadSink() {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    if (serverLoad.hasReplLoadSink()) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      return ProtobufUtil.toReplicationLoadSink(serverLoad.getReplLoadSink());<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    } else {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      return null;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span>  /**<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   * Originally, this method factored in the effect of requests going to the<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * server as well. However, this does not interact very well with the current<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * region rebalancing code, which only factors number of regions. For the<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   * interim, until we can figure out how to make rebalancing use all the info<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   * available, we're just going to make load purely the number of regions.<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   *<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * @return load factor for this server<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
+<span class="sourceLineNo">218</span>  public int getLoad() {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    // See above comment<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    // int load = numberOfRequests == 0 ? 1 : numberOfRequests;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    // load *= numberOfRegions == 0 ? 1 : numberOfRegions;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    // return load;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    return getNumberOfRegions();<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>  /**<a name="line.226"></a>
+<span class="sourceLineNo">227</span>   * @return region load metrics<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   */<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  public Map&lt;byte[], RegionLoad&gt; getRegionsLoad() {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    Map&lt;byte[], RegionLoad&gt; regionLoads =<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      new TreeMap&lt;byte[], RegionLoad&gt;(Bytes.BYTES_COMPARATOR);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    for (ClusterStatusProtos.RegionLoad rl : serverLoad.getRegionLoadsList()) {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      RegionLoad regionLoad = new RegionLoad(rl);<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      regionLoads.put(regionLoad.getName(), regionLoad);<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    return regionLoads;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * Return the RegionServer-level coprocessors<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * @return string array of loaded RegionServer-level coprocessors<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  public String[] getRegionServerCoprocessors() {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    List&lt;Coprocessor&gt; list = obtainServerLoadPB().getCoprocessorsList();<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    String [] ret = new String[list.size()];<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    int i = 0;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    for (Coprocessor elem : list) {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      ret[i++] = elem.getName();<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    }<a name="line.249"></a>
+<span class="sourceLineNo">250</span><a name="line.250"></a>
+<span class="sourceLineNo">251</span>    return ret;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  /**<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * Return the RegionServer-level and Region-level coprocessors<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * @return string array of loaded RegionServer-level and<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   *         Region-level coprocessors<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   */<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public String[] getRsCoprocessors() {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    // Need a set to remove duplicates, but since generated Coprocessor class<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    // is not Comparable, make it a Set&lt;String&gt; instead of Set&lt;Coprocessor&gt;<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    TreeSet&lt;String&gt; coprocessSet = new TreeSet&lt;String&gt;();<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    for (Coprocessor coprocessor : obtainServerLoadPB().getCoprocessorsList()) {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      coprocessSet.add(coprocessor.getName());<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    }<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    return coprocessSet.toArray(new String[coprocessSet.size()]);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  }<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>  /**<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * @return number of requests per second received since the last report<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  public double getRequestsPerSecond() {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    return getNumberOfRequests();<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  /**<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   * @see java.lang.Object#toString()<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   */<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  @Override<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  public String toString() {<a name="line.280"></a>
+<span class="sourceLineNo">281</span>     StringBuilder sb =<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        Strings.appendKeyValue(new StringBuilder(), "requestsPerSecond",<a name="line.282"></a>
+<span class="sourceLineNo">283</span>          Double.valueOf(getRequestsPerSecond()));<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    Strings.appendKeyValue(sb, "numberOfOnlineRegions", Integer.valueOf(getNumberOfRegions()));<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    sb = Strings.appendKeyValue(sb, "usedHeapMB", Integer.valueOf(this.getUsedHeapMB()));<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    sb = Strings.appendKeyValue(sb, "maxHeapMB", Integer.valueOf(getMaxHeapMB()));<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    sb = Strings.appendKeyValue(sb, "numberOfStores", Integer.valueOf(this.stores));<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    sb = Strings.appendKeyValue(sb, "numberOfStorefiles", Integer.valueOf(this.storefiles));<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    sb =<a name="line.289"></a>
+<span class="sourceLineNo">290</span>        Strings.appendKeyValue(sb, "storefileUncompressedSizeMB",<a name="line.290"></a>
+<span class="sourceLineNo">291</span>          Integer.valueOf(this.storeUncompressedSizeMB));<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    sb = Strings.appendKeyValue(sb, "storefileSizeMB", Integer.valueOf(this.storefileSizeMB));<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    if (this.storeUncompressedSizeMB != 0) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      sb =<a name="line.294"></a>
+<span class="sourceLineNo">295</span>          Strings.appendKeyValue(<a name="line.295"></a>
+<span class="sourceLineNo">296</span>            sb,<a name="line.296"></a>
+<span class="sourceLineNo">297</span>            "compressionRatio",<a name="line.297"></a>
+<span class="sourceLineNo">298</span>            String.format("%.4f", (float) this.storefileSizeMB<a name="line.298"></a>
+<span class="sourceLineNo">299</span>                / (float) this.storeUncompressedSizeMB));<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    }<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    sb = Strings.appendKeyValue(sb, "memstoreSizeMB", Integer.valueOf(this.memstoreSizeMB));<a name="line.301"></a>
 <span class="sourceLineNo">302</span>    sb =<a name="line.302"></a>
-<span class="sourceLineNo">303</span>        Strings.appendKeyValue(sb, "totalStaticIndexSizeKB",<a name="line.303"></a>
-<span class="sourceLineNo">304</span>          Integer.valueOf(this.totalStaticIndexSizeKB));<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    sb =<a name="line.305"></a>
-<span class="sourceLineNo">306</span>        Strings.appendKeyValue(sb, "totalStaticBloomSizeKB",<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          Integer.valueOf(this.totalStaticBloomSizeKB));<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    sb = Strings.appendKeyValue(sb, "totalCompactingKVs", Long.valueOf(this.totalCompactingKVs));<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    sb = Strings.appendKeyValue(sb, "currentCompactedKVs", Long.valueOf(this.currentCompactedKVs));<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    float compactionProgressPct = Float.NaN;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    if (this.totalCompactingKVs &gt; 0) {<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      compactionProgressPct =<a name="line.312"></a>
-<span class="sourceLineNo">313</span>          Float.valueOf((float) this.currentCompactedKVs / this.totalCompactingKVs);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    sb = Strings.appendKeyValue(sb, "compactionProgressPct", compactionProgressPct);<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    String[] coprocessorStrings = getRsCoprocessors();<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    if (coprocessorStrings != null) {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      sb = Strings.appendKeyValue(sb, "coprocessors", Arrays.toString(coprocessorStrings));<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    return sb.toString();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  }<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  public static final ServerLoad EMPTY_SERVERLOAD =<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    new ServerLoad(ClusterStatusProtos.ServerLoad.newBuilder().build());<a name="line.325"></a>
-<span class="sourceLineNo">326</span>}<a name="line.326"></a>
+<span class="sourceLineNo">303</span>        Strings.appendKeyValue(sb, "storefileIndexSizeMB",<a name="line.303"></a>
+<span class="sourceLineNo">304</span>          Integer.valueOf(this.storefileIndexSizeMB));<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    sb = Strings.appendKeyValue(sb, "readRequestsCount", Long.valueOf(this.readRequestsCount));<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    sb = Strings.appendKeyValue(sb, "filteredReadRequestsCount",<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      Long.valueOf(this.filteredReadRequestsCount));<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    sb = Strings.appendKeyValue(sb, "writeRequestsCount", Long.valueOf(this.writeRequestsCount));<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    sb = Strings.appendKeyValue(sb, "rootIndexSizeKB", Integer.valueOf(this.rootIndexSizeKB));<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    sb =<a name="line.310"></a>
+<span class="sourceLineNo">311</span>        Strings.appendKeyValue(sb, "totalStaticIndexSizeKB",<a name="line.311"></a>
+<span class="sourceLineNo">312</span>          Integer.valueOf(this.totalStaticIndexSizeKB));<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    sb =<a name="line.313"></a>
+<span class="sourceLineNo">314</span>        Strings.appendKeyValue(sb, "totalStaticBloomSizeKB",<a name="line.314"></a>
+<span class="sourceLineNo">315</span>          Integer.valueOf(this.totalStaticBloomSizeKB));<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    sb = Strings.appendKeyValue(sb, "totalCompactingKVs", Long.valueOf(this.totalCompactingKVs));<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    sb = Strings.appendKeyValue(sb, "currentCompactedKVs", Long.valueOf(this.currentCompactedKVs));<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    float compactionProgressPct = Float.NaN;<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    if (this.totalCompactingKVs &gt; 0) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      compactionProgressPct =<a name="line.320"></a>
+<span class="sourceLineNo">321</span>          Float.valueOf((float) this.currentCompactedKVs / this.totalCompactingKVs);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    }<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    sb = Strings.appendKeyValue(sb, "compactionProgressPct", compactionProgressPct);<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>    String[] coprocessorStrings = getRsCoprocessors();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    if (coprocessorStrings != null) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      sb = Strings.appendKeyValue(sb, "coprocessors", Arrays.toString(coprocessorStrings));<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    return sb.toString();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>  public static final ServerLoad EMPTY_SERVERLOAD =<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    new ServerLoad(ClusterStatusProtos.ServerLoad.newBuilder().build());<a name="line.333"></a>
+<span class="sourceLineNo">334</span>}<a name="line.334"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html
index efdc708..ccccc8d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html
@@ -852,7 +852,7 @@
 <span class="sourceLineNo">844</span>          }<a name="line.844"></a>
 <span class="sourceLineNo">845</span>        }<a name="line.845"></a>
 <span class="sourceLineNo">846</span>        if (LOG.isTraceEnabled()) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>          LOG.debug(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
+<span class="sourceLineNo">847</span>          LOG.trace(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
 <span class="sourceLineNo">848</span>            + " and its region server contains " + regionsPerServer[serverIndex].length<a name="line.848"></a>
 <span class="sourceLineNo">849</span>            + " regions");<a name="line.849"></a>
 <span class="sourceLineNo">850</span>        }<a name="line.850"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.html
index efdc708..ccccc8d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.html
@@ -852,7 +852,7 @@
 <span class="sourceLineNo">844</span>          }<a name="line.844"></a>
 <span class="sourceLineNo">845</span>        }<a name="line.845"></a>
 <span class="sourceLineNo">846</span>        if (LOG.isTraceEnabled()) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>          LOG.debug(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
+<span class="sourceLineNo">847</span>          LOG.trace(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
 <span class="sourceLineNo">848</span>            + " and its region server contains " + regionsPerServer[serverIndex].length<a name="line.848"></a>
 <span class="sourceLineNo">849</span>            + " regions");<a name="line.849"></a>
 <span class="sourceLineNo">850</span>        }<a name="line.850"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.AssignRegionAction.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.AssignRegionAction.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.AssignRegionAction.html
index efdc708..ccccc8d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.AssignRegionAction.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.AssignRegionAction.html
@@ -852,7 +852,7 @@
 <span class="sourceLineNo">844</span>          }<a name="line.844"></a>
 <span class="sourceLineNo">845</span>        }<a name="line.845"></a>
 <span class="sourceLineNo">846</span>        if (LOG.isTraceEnabled()) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>          LOG.debug(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
+<span class="sourceLineNo">847</span>          LOG.trace(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
 <span class="sourceLineNo">848</span>            + " and its region server contains " + regionsPerServer[serverIndex].length<a name="line.848"></a>
 <span class="sourceLineNo">849</span>            + " regions");<a name="line.849"></a>
 <span class="sourceLineNo">850</span>        }<a name="line.850"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.MoveRegionAction.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.MoveRegionAction.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.MoveRegionAction.html
index efdc708..ccccc8d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.MoveRegionAction.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.MoveRegionAction.html
@@ -852,7 +852,7 @@
 <span class="sourceLineNo">844</span>          }<a name="line.844"></a>
 <span class="sourceLineNo">845</span>        }<a name="line.845"></a>
 <span class="sourceLineNo">846</span>        if (LOG.isTraceEnabled()) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>          LOG.debug(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
+<span class="sourceLineNo">847</span>          LOG.trace(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
 <span class="sourceLineNo">848</span>            + " and its region server contains " + regionsPerServer[serverIndex].length<a name="line.848"></a>
 <span class="sourceLineNo">849</span>            + " regions");<a name="line.849"></a>
 <span class="sourceLineNo">850</span>        }<a name="line.850"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.SwapRegionsAction.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.SwapRegionsAction.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.SwapRegionsAction.html
index efdc708..ccccc8d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.SwapRegionsAction.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.SwapRegionsAction.html
@@ -852,7 +852,7 @@
 <span class="sourceLineNo">844</span>          }<a name="line.844"></a>
 <span class="sourceLineNo">845</span>        }<a name="line.845"></a>
 <span class="sourceLineNo">846</span>        if (LOG.isTraceEnabled()) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>          LOG.debug(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
+<span class="sourceLineNo">847</span>          LOG.trace(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
 <span class="sourceLineNo">848</span>            + " and its region server contains " + regionsPerServer[serverIndex].length<a name="line.848"></a>
 <span class="sourceLineNo">849</span>            + " regions");<a name="line.849"></a>
 <span class="sourceLineNo">850</span>        }<a name="line.850"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.html
index efdc708..ccccc8d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.html
@@ -852,7 +852,7 @@
 <span class="sourceLineNo">844</span>          }<a name="line.844"></a>
 <span class="sourceLineNo">845</span>        }<a name="line.845"></a>
 <span class="sourceLineNo">846</span>        if (LOG.isTraceEnabled()) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>          LOG.debug(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
+<span class="sourceLineNo">847</span>          LOG.trace(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
 <span class="sourceLineNo">848</span>            + " and its region server contains " + regionsPerServer[serverIndex].length<a name="line.848"></a>
 <span class="sourceLineNo">849</span>            + " regions");<a name="line.849"></a>
 <span class="sourceLineNo">850</span>        }<a name="line.850"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.DefaultRackManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.DefaultRackManager.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.DefaultRackManager.html
index efdc708..ccccc8d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.DefaultRackManager.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.DefaultRackManager.html
@@ -852,7 +852,7 @@
 <span class="sourceLineNo">844</span>          }<a name="line.844"></a>
 <span class="sourceLineNo">845</span>        }<a name="line.845"></a>
 <span class="sourceLineNo">846</span>        if (LOG.isTraceEnabled()) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>          LOG.debug(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
+<span class="sourceLineNo">847</span>          LOG.trace(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
 <span class="sourceLineNo">848</span>            + " and its region server contains " + regionsPerServer[serverIndex].length<a name="line.848"></a>
 <span class="sourceLineNo">849</span>            + " regions");<a name="line.849"></a>
 <span class="sourceLineNo">850</span>        }<a name="line.850"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.html
index efdc708..ccccc8d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.html
@@ -852,7 +852,7 @@
 <span class="sourceLineNo">844</span>          }<a name="line.844"></a>
 <span class="sourceLineNo">845</span>        }<a name="line.845"></a>
 <span class="sourceLineNo">846</span>        if (LOG.isTraceEnabled()) {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>          LOG.debug(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
+<span class="sourceLineNo">847</span>          LOG.trace(" Lowest locality region index is " + lowestLocalityRegionIndex<a name="line.847"></a>
 <span class="sourceLineNo">848</span>            + " and its region server contains " + regionsPerServer[serverIndex].length<a name="line.848"></a>
 <span class="sourceLineNo">849</span>            + " regions");<a name="line.849"></a>
 <span class="sourceLineNo">850</span>        }<a name="line.850"></a>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html
index d03724e..658fe8f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatch.html
@@ -292,7951 +292,7969 @@
 <span class="sourceLineNo">284</span><a name="line.284"></a>
 <span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter writeRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  // Number of requests blocked by memstore size.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  // Compaction counters<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>  private final WAL wal;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final HRegionFileSystem fs;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  protected final Configuration conf;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  private final Configuration baseConf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final int rowLockWaitDuration;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  // The internal wait duration to acquire a lock before read/update<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // we can release the IPC handler soon enough to improve the<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // availability of the region server. It can be adjusted by<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  final long busyWaitDuration;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>  // If updating multiple rows in one call, wait longer,<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // we can limit the max multiplier.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  final int maxBusyWaitMultiplier;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  final long maxBusyWaitDuration;<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  // negative number indicates infinite timeout<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * The sequence ID that was encountered when this region was opened.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * scan requests to this region. Requests can override it.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  //<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // are equal to or lower than maxSeqId for each store.<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // The following map is populated when opening the region<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>  /** Saved state from replaying prepare flush cache */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  /**<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   */<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private boolean disallowWritesInRecovering = false;<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  private volatile boolean recovering = false;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>  /**<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * region. Writes older than this readPoint, are included in every<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * read operation.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  public long getSmallestReadPoint() {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    long minimumReadPoint;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    synchronized(scannerReadPoints) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          minimumReadPoint = readPoint;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return minimumReadPoint;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  /*<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * Data structure of write state flags used coordinating flushes,<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * compactions and closes.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  static class WriteState {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // Set while a memstore flush is happening.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    volatile boolean flushing = false;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // Set when a flush has been requested.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    volatile boolean flushRequested = false;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // Number of compactions running.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    volatile boolean writesEnabled = true;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // Set if region is read-only<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    volatile boolean readOnly = false;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    volatile boolean readsEnabled = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>    /**<a name="line.405"></a>
-<span class="sourceLineNo">406</span>     * Set flags that make this region read-only.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     *<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     * @param onOff flip value for region r/o setting<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.writesEnabled = !onOff;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.readOnly = onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>    boolean isReadOnly() {<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return this.flushRequested;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      this.readsEnabled = readsEnabled;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  /**<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * if it didn't flush.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public static class FlushResultImpl implements FlushResult {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    final Result result;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final String failureReason;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final long flushSequenceId;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final boolean wroteFlushWalMarker;<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    /**<a name="line.443"></a>
-<span class="sourceLineNo">444</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * null.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     *                        memstores.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     */<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      this(result, flushSequenceId, null, false);<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>     * Convenience constructor to use when we cannot flush.<a name="line.457"></a>
-<span class="sourceLineNo">458</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>     * @param failureReason Reason why we couldn't flush.<a name="line.459"></a>
-<span class="sourceLineNo">460</span>     */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>    /**<a name="line.466"></a>
-<span class="sourceLineNo">467</span>     * Constructor with all the parameters.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @param result Any of the Result.<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>     */<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      boolean wroteFlushMarker) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      this.result = result;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      this.flushSequenceId = flushSequenceId;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      this.failureReason = failureReason;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      this.wroteFlushWalMarker = wroteFlushMarker;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>    /**<a name="line.480"></a>
-<span class="sourceLineNo">481</span>     * Convenience method, the equivalent of checking if result is<a name="line.481"></a>
-<span class="sourceLineNo">482</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>     * @return true if the memstores were flushed, else false.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>     */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public boolean isFlushSucceeded() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.487"></a>
-<span class="sourceLineNo">488</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>    /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<a name="line.493"></a>
-<span class="sourceLineNo">494</span>     */<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    @Override<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    public boolean isCompactionNeeded() {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    }<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    @Override<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    public String toString() {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      return new StringBuilder()<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        .append("flush result:").append(result).append(", ")<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        .append("flush seq id").append(flushSequenceId).toString();<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    @Override<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    public Result getResult() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      return result;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  }<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span>  /** A result object from prepare flush cache stage */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static class PrepareFlushResult {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    final FlushResult result; // indicating a failure result from prepare<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    final TreeMap&lt;byte[], Long&gt; storeFlushableSize;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    final long startTime;<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    final long flushOpSeqId;<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    final long flushedSeqId;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    final long totalFlushableSize;<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    /** Constructs an early exit case */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    PrepareFlushResult(FlushResult result, long flushSeqId) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, 0);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>    /** Constructs a successful prepare flush result */<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    PrepareFlushResult(<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        flushSeqId, flushedSeqId, totalFlushableSize);<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    }<a name="line.539"></a>
-<span class="sourceLineNo">540</span><a name="line.540"></a>
-<span class="sourceLineNo">541</span>    private PrepareFlushResult(<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      FlushResult result,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      this.result = result;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      this.committedFiles = committedFiles;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      this.startTime = startTime;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      this.flushOpSeqId = flushSeqId;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      this.flushedSeqId = flushedSeqId;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      this.totalFlushableSize = totalFlushableSize;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    }<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    public FlushResult getResult() {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      return this.result;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  final WriteState writestate = new WriteState();<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  long memstoreFlushSize;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  final long timestampSlop;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  final long rowProcessorTimeout;<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  private final ConcurrentMap&lt;Store, Long&gt; lastStoreFlushTimeMap =<a name="line.569"></a>
-<span class="sourceLineNo">570</span>      new ConcurrentHashMap&lt;Store, Long&gt;();<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>  final RegionServerServices rsServices;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private RegionServerAccounting rsAccounting;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  private long flushCheckInterval;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.575"></a>
-<span class="sourceLineNo">576</span>  private long flushPerChanges;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  private long blockingMemStoreSize;<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  final long threadWakeFrequency;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  // Used to guard closes<a name="line.579"></a>
-<span class="sourceLineNo">580</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span>  // Stop updates lock<a name="line.582"></a>
-<span class="sourceLineNo">583</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.583"></a>
-<span class="sourceLineNo">584</span>  private boolean splitRequest;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>  private byte[] explicitSplitPoint = null;<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  // Coprocessor host<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.590"></a>
-<span class="sourceLineNo">591</span><a name="line.591"></a>
-<span class="sourceLineNo">592</span>  private HTableDescriptor htableDescriptor = null;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>  private RegionSplitPolicy splitPolicy;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  private FlushPolicy flushPolicy;<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>  private final MetricsRegion metricsRegion;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>  private final Durability durability;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  private final boolean regionStatsEnabled;<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>  /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   *<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * usually the table directory.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * The wal file is a logfile from the previous execution that's<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * the supplied path.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param fs is the filesystem.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @param confParam is global configuration settings.<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @param regionInfo - HRegionInfo that describes the region<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * is new), then read them from the supplied path.<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param htd the table descriptor<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @deprecated Use other constructors.<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  @Deprecated<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  @VisibleForTesting<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      final Configuration confParam, final HRegionInfo regionInfo,<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.627"></a>
-<span class="sourceLineNo">628</span>      wal, confParam, htd, rsServices);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>  }<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>  /**<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   *<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * @param fs is the filesystem.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * The wal file is a logfile from the previous execution that's<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.640"></a>
-<span class="sourceLineNo">641</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   * the supplied path.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * @param confParam is global configuration settings.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @param htd the table descriptor<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    if (htd == null) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      throw new IllegalArgumentException("Need table descriptor");<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    }<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span>    if (confParam instanceof CompoundConfiguration) {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      throw new IllegalArgumentException("Need original base configuration");<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>    this.wal = wal;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    this.fs = fs;<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    this.baseConf = confParam;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.conf = new CompoundConfiguration()<a name="line.662"></a>
-<span class="sourceLineNo">663</span>      .add(confParam)<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      .addStringMap(htd.getConfiguration())<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      .addBytesMap(htd.getValues());<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.670"></a>
-<span class="sourceLineNo">671</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.673"></a>
-<span class="sourceLineNo">674</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.674"></a>
-<span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span>    this.maxWaitForSeqId = conf.getInt(MAX_WAIT_FOR_SEQ_ID_KEY, DEFAULT_MAX_WAIT_FOR_SEQ_ID);<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    this.htableDescriptor = htd;<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.rsServices = rsServices;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    this.threadWakeFrequency = conf.getLong(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    setHTableSpecificConf();<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;RegionScanner, Long&gt;();<a name="line.682"></a>
-<span class="sourceLineNo">683</span><a name="line.683"></a>
-<span class="sourceLineNo">684</span>    this.busyWaitDuration = conf.getLong(<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.688"></a>
-<span class="sourceLineNo">689</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.689"></a>
-<span class="sourceLineNo">690</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    }<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>    /*<a name="line.695"></a>
-<span class="sourceLineNo">696</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.698"></a>
-<span class="sourceLineNo">699</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.699"></a>
-<span class="sourceLineNo">700</span>     */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    this.timestampSlop = conf.getLong(<a name="line.701"></a>
-<span class="sourceLineNo">702</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        HConstants.LATEST_TIMESTAMP);<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>    /**<a name="line.705"></a>
-<span class="sourceLineNo">706</span>     * Timeout for the process time in processRowsWithLocks().<a name="line.706"></a>
-<span class="sourceLineNo">707</span>     * Use -1 to switch off time bound.<a name="line.707"></a>
-<span class="sourceLineNo">708</span>     */<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    this.durability = htd.getDurability() == Durability.USE_DEFAULT<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        ? DEFAULT_DURABILITY<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        : htd.getDurability();<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    if (rsServices != null) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>      Map&lt;String, Region&gt; recoveringRegions = rsServices.getRecoveringRegions();<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      String encodedName = getRegionInfo().getEncodedName();<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      if (recoveringRegions != null &amp;&amp; recoveringRegions.containsKey(encodedName)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        this.recovering = true;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        recoveringRegions.put(encodedName, this);<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      }<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    } else {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.metricsRegionWrapper = null;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      this.metricsRegion = null;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    if (LOG.isDebugEnabled()) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      // Write out region name as string and its encoded name.<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      LOG.debug("Instantiated " + this);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>    }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>    // by default, we allow writes against a region when it's in recovering<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    this.disallowWritesInRecovering =<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        conf.getBoolean(HConstants.DISALLOW_WRITES_IN_RECOVERING,<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          HConstants.DEFAULT_DISALLOW_WRITES_IN_RECOVERING_CONFIG);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    configurationManager = Optional.absent();<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.744"></a>
-<span class="sourceLineNo">745</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          false :<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.747"></a>
-<span class="sourceLineNo">748</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  }<a name="line.749"></a>
-<span class="sourceLineNo">750</span><a name="line.750"></a>
-<span class="sourceLineNo">751</span>  void setHTableSpecificConf() {<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    if (this.htableDescriptor == null) return;<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.753"></a>
-<span class="sourceLineNo">754</span><a name="line.754"></a>
-<span class="sourceLineNo">755</span>    if (flushSize &lt;= 0) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        HTableDescriptor.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    this.memstoreFlushSize = flushSize;<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.760"></a>
-<span class="sourceLineNo">761</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  }<a name="line.763"></a>
-<span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>  /**<a name="line.765"></a>
-<span class="sourceLineNo">766</span>   * Initialize this region.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * You should use createHRegion() or openHRegion()<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * @return What the next sequence (edit) id should be.<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * @throws IOException e<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   */<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  @Deprecated<a name="line.773"></a>
-<span class="sourceLineNo">774</span>  public long initialize() throws IOException {<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    return initialize(null);<a name="line.775"></a>
-<span class="sourceLineNo">776</span>  }<a name="line.776"></a>
-<span class="sourceLineNo">777</span><a name="line.777"></a>
-<span class="sourceLineNo">778</span>  /**<a name="line.778"></a>
-<span class="sourceLineNo">779</span>   * Initialize this region.<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   *<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * @return What the next sequence (edit) id should be.<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * @throws IOException e<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   */<a name="line.784"></a>
-<span class="sourceLineNo">785</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    long nextSeqId = -1;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    try {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.789"></a>
-<span class="sourceLineNo">790</span>      return nextSeqId;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    } finally {<a name="line.791"></a>
-<span class="sourceLineNo">792</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      // At least it will be 0 otherwise.<a name="line.793"></a>
-<span class="sourceLineNo">794</span>      if (nextSeqId == -1) {<a name="line.794"></a>
-<span class="sourceLineNo">795</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.795"></a>
-<span class="sourceLineNo">796</span>          " initialization.");<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      }<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span>  }<a name="line.799"></a>
-<span class="sourceLineNo">800</span><a name="line.800"></a>
-<span class="sourceLineNo">801</span>  private long initializeRegionInternals(final CancelableProgressable reporter,<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      final MonitoredTask status) throws IOException {<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    if (coprocessorHost != null) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      status.setStatus("Running coprocessor pre-open hook");<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      coprocessorHost.preOpen();<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    // Write HRI to a file in case we need to recover hbase:meta<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    status.setStatus("Writing region info on filesystem");<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    fs.checkRegionInfoOnFilesystem();<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    // Initialize all the HStores<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    status.setStatus("Initializing all the Stores");<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    long maxSeqId = initializeStores(reporter, status);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    this.mvcc.advanceTo(maxSeqId);<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    if (ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      // Recover any edits if available.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      maxSeqId = Math.max(maxSeqId,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>        replayRecoveredEditsIfAny(this.fs.getRegionDir(), maxSeqIdInStores, reporter, status));<a name="line.819"></a>
-<span class="sourceLineNo">820</span>      // Make sure mvcc is up to max.<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.mvcc.advanceTo(maxSeqId);<a name="line.821"></a>
-<span class="sourceLineNo">822</span>    }<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    this.lastReplayedOpenRegionSeqId = maxSeqId;<a name="line.823"></a>
-<span class="sourceLineNo">824</span><a name="line.824"></a>
-<span class="sourceLineNo">825</span>    this.writestate.setReadOnly(ServerRegionReplicaUtil.isReadOnly(this));<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    this.writestate.flushRequested = false;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    this.writestate.compacting.set(0);<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span>    if (this.writestate.writesEnabled) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      // Remove temporary data left over from old regions<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      status.setStatus("Cleaning up temporary data from old regions");<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      fs.cleanupTempDir();<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
-<span class="sourceLineNo">834</span><a name="line.834"></a>
-<span class="sourceLineNo">835</span>    if (this.writestate.writesEnabled) {<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      status.setStatus("Cleaning up detritus from prior splits");<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      // Get rid of any splits or merges that were lost in-progress.  Clean out<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      // these directories here on open.  We may be opening a region that was<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      // being split but we crashed in the middle of it all.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>      fs.cleanupAnySplitDetritus();<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      fs.cleanupMergesDir();<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Initialize split policy<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    this.splitPolicy = RegionSplitPolicy.create(this, conf);<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span>    // Initialize flush policy<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    this.flushPolicy = FlushPolicyFactory.create(this, conf);<a name="line.848"></a>
-<span class="sourceLineNo">849</span><a name="line.849"></a>
-<span class="sourceLineNo">850</span>    long lastFlushTime = EnvironmentEdgeManager.currentTime();<a name="line.850"></a>
-<span class="sourceLineNo">851</span>    for (Store store: stores.values()) {<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      this.lastStoreFlushTimeMap.put(store, lastFlushTime);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>    // Use maximum of log sequenceid or that which was found in stores<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    // (particularly if no recovered edits, seqid will be -1).<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    long nextSeqid = maxSeqId;<a name="line.857"></a>
-<span class="sourceLineNo">858</span><a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // In distributedLogReplay mode, we don't know the last change sequence number because region<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // is opened before recovery completes. So we add a safety bumper to avoid new sequence number<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    // overlaps used sequence numbers<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (this.writestate.writesEnabled) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      nextSeqid = WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs<a name="line.863"></a>
-<span class="sourceLineNo">864</span>          .getRegionDir(), nextSeqid, (this.recovering ? (this.flushPerChanges + 10000000) : 1));<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    } else {<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      nextSeqid++;<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>    LOG.info("Onlined " + this.getRegionInfo().getShortNameToLog() +<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      "; next sequenceid=" + nextSeqid);<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    // A region can be reopened if failed a split; reset flags<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    this.closing.set(false);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    this.closed.set(false);<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    if (coprocessorHost != null) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      status.setStatus("Running coprocessor post-open hooks");<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      coprocessorHost.postOpen();<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span>    status.markComplete("Region opened successfully");<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    return nextSeqid;<a name="line.882"></a>
-<span class="sourceLineNo">883</span>  }<a name="line.883"></a>
-<span class="sourceLineNo">884</span><a name="line.884"></a>
-<span class="sourceLineNo">885</span>  /**<a name="line.885"></a>
-<span class="sourceLineNo">886</span>   * Open all Stores.<a name="line.886"></a>
-<span class="sourceLineNo">887</span>   * @param reporter<a name="line.887"></a>
-<span class="sourceLineNo">888</span>   * @param status<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * @return Highest sequenceId found out in a Store.<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * @throws IOException<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   */<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  private long initializeStores(final CancelableProgressable reporter, MonitoredTask status)<a name="line.892"></a>
-<span class="sourceLineNo">893</span>  throws IOException {<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    // Load in all the HStores.<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    long maxSeqId = -1;<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    // initialized to -1 so that we pick up MemstoreTS from column families<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    long maxMemstoreTS = -1;<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    if (!htableDescriptor.getFamilies().isEmpty()) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      // initialize the thread pool for opening stores in parallel.<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      ThreadPoolExecutor storeOpenerThreadPool =<a name="line.902"></a>
-<span class="sourceLineNo">903</span>        getStoreOpenAndCloseThreadPool("StoreOpener-" + this.getRegionInfo().getShortNameToLog());<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      CompletionService&lt;HStore&gt; completionService =<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        new ExecutorCompletionService&lt;HStore&gt;(storeOpenerThreadPool);<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span>      // initialize each store in parallel<a name="line.907"></a>
-<span class="sourceLineNo">908</span>      for (final HColumnDescriptor family : htableDescriptor.getFamilies()) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        status.setStatus("Instantiating store for column family " + family);<a name="line.909"></a>
-<span class="sourceLineNo">910</span>        completionService.submit(new Callable&lt;HStore&gt;() {<a name="line.910"></a>
-<span class="sourceLineNo">911</span>          @Override<a name="line.911"></a>
-<span class="sourceLineNo">912</span>          public HStore call() throws IOException {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>            return instantiateHStore(family);<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>      boolean allStoresOpened = false;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>      try {<a name="line.918"></a>
-<span class="sourceLineNo">919</span>        for (int i = 0; i &lt; htableDescriptor.getFamilies().size(); i++) {<a name="line.919"></a>
-<span class="sourceLineNo">920</span>          Future&lt;HStore&gt; future = completionService.take();<a name="line.920"></a>
-<span class="sourceLineNo">921</span>          HStore store = future.get();<a name="line.921"></a>
-<span class="sourceLineNo">922</span>          this.stores.put(store.getFamily().getName(), store);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>          long storeMaxSequenceId = store.getMaxSequenceId();<a name="line.924"></a>
-<span class="sourceLineNo">925</span>          maxSeqIdInStores.put(store.getColumnFamilyName().getBytes(),<a name="line.925"></a>
-<span class="sourceLineNo">926</span>              storeMaxSequenceId);<a name="line.926"></a>
-<span class="sourceLineNo">927</span>          if (maxSeqId == -1 || storeMaxSequenceId &gt; maxSeqId) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>            maxSeqId = storeMaxSequenceId;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>          }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>          long maxStoreMemstoreTS = store.getMaxMemstoreTS();<a name="line.930"></a>
-<span class="sourceLineNo">931</span>          if (maxStoreMemstoreTS &gt; maxMemstoreTS) {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>            maxMemstoreTS = maxStoreMemstoreTS;<a name="line.932"></a>
-<span class="sourceLineNo">933</span>          }<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        }<a name="line.934"></a>
-<span class="sourceLineNo">935</span>        allStoresOpened = true;<a name="line.935"></a>
-<span class="sourceLineNo">936</span>      } catch (InterruptedException e) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>        throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>      } catch (ExecutionException e) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span>        throw new IOException(e.getCause());<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      } finally {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        storeOpenerThreadPool.shutdownNow();<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        if (!allStoresOpened) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>          // something went wrong, close all opened stores<a name="line.943"></a>
-<span class="sourceLineNo">944</span>          LOG.error("Could not initialize all stores for the region=" + this);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>          for (Store store : this.stores.values()) {<a name="line.945"></a>
-<span class="sourceLineNo">946</span>            try {<a name="line.946"></a>
-<span class="sourceLineNo">947</span>              store.close();<a name="line.947"></a>
-<span class="sourceLineNo">948</span>            } catch (IOException e) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>              LOG.warn(e.getMessage());<a name="line.949"></a>
-<span class="sourceLineNo">950</span>            }<a name="line.950"></a>
-<span class="sourceLineNo">951</span>          }<a name="line.951"></a>
-<span class="sourceLineNo">952</span>        }<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      }<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    return Math.max(maxSeqId, maxMemstoreTS + 1);<a name="line.955"></a>
-<span class="sourceLineNo">956</span>  }<a name="line.956"></a>
-<span class="sourceLineNo">957</span><a name="line.957"></a>
-<span class="sourceLineNo">958</span>  private void initializeWarmup(final CancelableProgressable reporter) throws IOException {<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.959"></a>
-<span class="sourceLineNo">960</span><a name="line.960"></a>
-<span class="sourceLineNo">961</span>    // Initialize all the HStores<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    status.setStatus("Warming up all the Stores");<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    initializeStores(reporter, status);<a name="line.963"></a>
-<span class="sourceLineNo">964</span>  }<a name="line.964"></a>
-<span class="sourceLineNo">965</span><a name="line.965"></a>
-<span class="sourceLineNo">966</span>  /**<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   * @return Map of StoreFiles by column family<a name="line.967"></a>
-<span class="sourceLineNo">968</span>   */<a name="line.968"></a>
-<span class="sourceLineNo">969</span>  private NavigableMap&lt;byte[], List&lt;Path&gt;&gt; getStoreFiles() {<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    NavigableMap&lt;byte[], List&lt;Path&gt;&gt; allStoreFiles =<a name="line.970"></a>
-<span class="sourceLineNo">971</span>      new TreeMap&lt;byte[], List&lt;Path&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    for (Store store: getStores()) {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.973"></a>
-<span class="sourceLineNo">974</span>      if (storeFiles == null) continue;<a name="line.974"></a>
-<span class="sourceLineNo">975</span>      List&lt;Path&gt; storeFileNames = new ArrayList&lt;Path&gt;();<a name="line.975"></a>
-<span class="sourceLineNo">976</span>      for (StoreFile storeFile: storeFiles) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>        storeFileNames.add(storeFile.getPath());<a name="line.977"></a>
-<span class="sourceLineNo">978</span>      }<a name="line.978"></a>
-<span class="sourceLineNo">979</span>      allStoreFiles.put(store.getFamily().getName(), storeFileNames);<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    }<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    return allStoreFiles;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>  }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>  private void writeRegionOpenMarker(WAL wal, long openSeqId) throws IOException {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    RegionEventDescriptor regionOpenDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      RegionEventDescriptor.EventType.REGION_OPEN, getRegionInfo(), openSeqId,<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.988"></a>
-<span class="sourceLineNo">989</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionOpenDesc, mvcc);<a name="line.989"></a>
-<span class="sourceLineNo">990</span>  }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>  private void writeRegionCloseMarker(WAL wal) throws IOException {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    RegionEventDescriptor regionEventDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.994"></a>
-<span class="sourceLineNo">995</span>      RegionEventDescriptor.EventType.REGION_CLOSE, getRegionInfo(), mvcc.getReadPoint(),<a name="line.995"></a>
-<span class="sourceLineNo">996</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionEventDesc, mvcc);<a name="line.997"></a>
-<span class="sourceLineNo">998</span><a name="line.998"></a>
-<span class="sourceLineNo">999</span>    // Store SeqId in HDFS when a region closes<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    // checking region folder exists is due to many tests which delete the table folder while a<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    // table is still online<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    if (this.fs.getFileSystem().exists(this.fs.getRegionDir())) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>      WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs.getRegionDir(),<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>        mvcc.getReadPoint(), 0);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>    }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>  }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>  /**<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>   * @return True if this region has references.<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>   */<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>  public boolean hasReferences() {<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    for (Store store : this.stores.values()) {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      if (store.hasReferences()) return true;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>    return false;<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>  }<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span><a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  @Override<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  public HDFSBlocksDistribution getHDFSBlocksDistribution() {<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      new HDFSBlocksDistribution();<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    synchronized (this.stores) {<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>      for (Store store : this.stores.values()) {<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>        Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>        if (storeFiles == null) continue;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>        for (StoreFile sf : storeFiles) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>          HDFSBlocksDistribution storeFileBlocksDistribution =<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>            sf.getHDFSBlockDistribution();<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>          hdfsBlocksDistribution.add(storeFileBlocksDistribution);<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>    }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>    return hdfsBlocksDistribution;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>  /**<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>   * @param conf configuration<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>   * @param regionInfo encoded name of the region<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   * @throws IOException<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   */<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo) throws IOException {<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    Path tablePath = FSUtils.getTableDir(FSUtils.getRootDir(conf), tableDescriptor.getTableName());<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>    return computeHDFSBlocksDistribution(conf, tableDescriptor, regionInfo, tablePath);<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  }<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span><a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  /**<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>   * @param conf configuration<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * @param regionInfo encoded name of the region<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * @param tablePath the table directory<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>   * @throws IOException<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>   */<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo,  Path tablePath)<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>      throws IOException {<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    HDFSBlocksDistribution hdfsBlocksDistribution = new HDFSBlocksDistribution();<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>    FileSystem fs = tablePath.getFileSystem(conf);<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span><a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    HRegionFileSystem regionFs = new HRegionFileSystem(conf, fs, tablePath, regionInfo);<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    for (HColumnDescriptor family: tableDescriptor.getFamilies()) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      Collection&lt;StoreFileInfo&gt; storeFiles = regionFs.getStoreFiles(family.getNameAsString());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>      if (storeFiles == null) continue;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>      for (StoreFileInfo storeFileInfo : storeFiles) {<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>        try {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>          hdfsBlocksDistribution.add(storeFileInfo.computeHDFSBlocksDistribution(fs));<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        } catch (IOException ioe) {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>          LOG.warn("Error getting hdfs block distribution for " + storeFileInfo);<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>        }<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    return hdfsBlocksDistribution;<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>  /**<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>   * Increase the size of mem store in this region and the size of global mem<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>   * store<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>   * @return the size of memstore in this region<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   */<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>  public long addAndGetGlobalMemstoreSize(long memStoreSize) {<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    if (this.rsAccounting != null) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>      rsAccounting.addAndGetGlobalMemstoreSize(memStoreSize);<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>    }<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    return this.memstoreSize.addAndGet(memStoreSize);<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  }<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span><a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>  @Override<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>  public HRegionInfo getRegionInfo() {<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>    return this.fs.getRegionInfo();<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  }<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>   * @return Instance of {@link RegionServerServices} used by this HRegion.<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * Can be null.<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   */<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>  RegionServerServices getRegionServerServices() {<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    return this.rsServices;<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  }<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span><a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  @Override<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>  public long getReadRequestsCount() {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    return readRequestsCount.get();<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>  }<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span><a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>  @Override<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  public void updateReadRequestsCount(long i) {<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>    readRequestsCount.add(i);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  }<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  @Override<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  public long getWriteRequestsCount() {<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    return writeRequestsCount.get();<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>  @Override<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public void updateWriteRequestsCount(long i) {<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    writeRequestsCount.add(i);<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  }<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span><a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  @Override<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  public long getMemstoreSize() {<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>    return memstoreSize.get();<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  }<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span><a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>  @Override<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  public long getNumMutationsWithoutWAL() {<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>    return numMutationsWithoutWAL.get();<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>  }<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  @Override<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public long getDataInMemoryWithoutWAL() {<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    return dataInMemoryWithoutWAL.get();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span><a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>  @Override<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  public long getBlockedRequestsCount() {<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>    return blockedRequestsCount.get();<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>  }<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span><a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  @Override<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  public long getCheckAndMutateChecksPassed() {<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    return checkAndMutateChecksPassed.get();<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>  @Override<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>  public long getCheckAndMutateChecksFailed() {<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    return checkAndMutateChecksFailed.get();<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>  }<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span><a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  @Override<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>  public MetricsRegion getMetrics() {<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    return metricsRegion;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>  }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span><a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>  @Override<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public boolean isClosed() {<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>    return this.closed.get();<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  }<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span><a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  @Override<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  public boolean isClosing() {<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>    return this.closing.get();<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  }<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>  @Override<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>  public boolean isReadOnly() {<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>    return this.writestate.isReadOnly();<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>  }<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span><a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>  /**<a name="line.1175"></a>
-<span class="sourceLine

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html
index 5acbf19..365d061 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html
@@ -193,523 +193,526 @@
 <span class="sourceLineNo">185</span>   */<a name="line.185"></a>
 <span class="sourceLineNo">186</span>  void updateReadRequestsCount(long i);<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  /** @return write request count for this region */<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  long getWriteRequestsCount();<a name="line.189"></a>
+<span class="sourceLineNo">188</span>  /** @return filtered read requests count for this region */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  long getFilteredReadRequestsCount();<a name="line.189"></a>
 <span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  /**<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   * Update the write request count for this region<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @param i increment<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   */<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  void updateWriteRequestsCount(long i);<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  /** @return memstore size for this region, in bytes */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  long getMemstoreSize();<a name="line.198"></a>
+<span class="sourceLineNo">191</span>  /** @return write request count for this region */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  long getWriteRequestsCount();<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  /**<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * Update the write request count for this region<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @param i increment<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  void updateWriteRequestsCount(long i);<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /** @return the number of mutations processed bypassing the WAL */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  long getNumMutationsWithoutWAL();<a name="line.201"></a>
+<span class="sourceLineNo">200</span>  /** @return memstore size for this region, in bytes */<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  long getMemstoreSize();<a name="line.201"></a>
 <span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /** @return the size of data processed bypassing the WAL, in bytes */<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  long getDataInMemoryWithoutWAL();<a name="line.204"></a>
+<span class="sourceLineNo">203</span>  /** @return the number of mutations processed bypassing the WAL */<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  long getNumMutationsWithoutWAL();<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  /** @return the number of blocked requests */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  long getBlockedRequestsCount();<a name="line.207"></a>
+<span class="sourceLineNo">206</span>  /** @return the size of data processed bypassing the WAL, in bytes */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  long getDataInMemoryWithoutWAL();<a name="line.207"></a>
 <span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /** @return the number of checkAndMutate guards that passed */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  long getCheckAndMutateChecksPassed();<a name="line.210"></a>
+<span class="sourceLineNo">209</span>  /** @return the number of blocked requests */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  long getBlockedRequestsCount();<a name="line.210"></a>
 <span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>  /** @return the number of failed checkAndMutate guards */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  long getCheckAndMutateChecksFailed();<a name="line.213"></a>
+<span class="sourceLineNo">212</span>  /** @return the number of checkAndMutate guards that passed */<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  long getCheckAndMutateChecksPassed();<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /** @return the MetricsRegion for this region */<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  MetricsRegion getMetrics();<a name="line.216"></a>
+<span class="sourceLineNo">215</span>  /** @return the number of failed checkAndMutate guards */<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  long getCheckAndMutateChecksFailed();<a name="line.216"></a>
 <span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  /** @return the block distribution for all Stores managed by this region */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  HDFSBlocksDistribution getHDFSBlocksDistribution();<a name="line.219"></a>
+<span class="sourceLineNo">218</span>  /** @return the MetricsRegion for this region */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  MetricsRegion getMetrics();<a name="line.219"></a>
 <span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  // Locking<a name="line.222"></a>
+<span class="sourceLineNo">221</span>  /** @return the block distribution for all Stores managed by this region */<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  HDFSBlocksDistribution getHDFSBlocksDistribution();<a name="line.222"></a>
 <span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>  // Region read locks<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  /**<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * Operation enum is used in {@link Region#startRegionOperation} and elsewhere to provide<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   * context for various checks.<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   */<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  enum Operation {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    ANY, GET, PUT, DELETE, SCAN, APPEND, INCREMENT, SPLIT_REGION, MERGE_REGION, BATCH_MUTATE,<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    REPLAY_BATCH_MUTATE, COMPACT_REGION, REPLAY_EVENT<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * This method needs to be called before any public call that reads or<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * modifies data.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * the operation has completed, whether it succeeded or failed.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @throws IOException<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  void startRegionOperation() throws IOException;<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /**<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * This method needs to be called before any public call that reads or<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * modifies data.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * the operation has completed, whether it succeeded or failed.<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @param op The operation is about to be taken on the region<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @throws IOException<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  void startRegionOperation(Operation op) throws IOException;<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * Closes the region operation lock.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  void closeRegionOperation() throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // Row write locks<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  /**<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   * Row lock held by a given thread.<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * One thread may acquire multiple locks on the same row simultaneously.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   * The locks must be released by calling release() from the same thread.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>   */<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  public interface RowLock {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    /**<a name="line.270"></a>
-<span class="sourceLineNo">271</span>     * Release the given lock.  If there are no remaining locks held by the current thread<a name="line.271"></a>
-<span class="sourceLineNo">272</span>     * then unlock the row and allow other threads to acquire the lock.<a name="line.272"></a>
-<span class="sourceLineNo">273</span>     * @throws IllegalArgumentException if called by a different thread than the lock owning<a name="line.273"></a>
-<span class="sourceLineNo">274</span>     *     thread<a name="line.274"></a>
-<span class="sourceLineNo">275</span>     */<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    void release();<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  }<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * Tries to acquire a lock on the given row.<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @param waitForLock if true, will block until the lock is available.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   *        Otherwise, just tries to obtain the lock and returns<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   *        false if unavailable.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @return the row lock if acquired,<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   *   null if waitForLock was false and the lock was not acquired<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @throws IOException if waitForLock was true and the lock could not be acquired after waiting<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  RowLock getRowLock(byte[] row, boolean waitForLock) throws IOException;<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  /**<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * If the given list of row locks is not null, releases all locks.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  void releaseRowLocks(List&lt;RowLock&gt; rowLocks);<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  // Region operations<a name="line.296"></a>
+<span class="sourceLineNo">224</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  // Locking<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  // Region read locks<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * Operation enum is used in {@link Region#startRegionOperation} and elsewhere to provide<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * context for various checks.<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  enum Operation {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    ANY, GET, PUT, DELETE, SCAN, APPEND, INCREMENT, SPLIT_REGION, MERGE_REGION, BATCH_MUTATE,<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    REPLAY_BATCH_MUTATE, COMPACT_REGION, REPLAY_EVENT<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  /**<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * This method needs to be called before any public call that reads or<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * modifies data.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * the operation has completed, whether it succeeded or failed.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @throws IOException<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   */<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  void startRegionOperation() throws IOException;<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>  /**<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   * This method needs to be called before any public call that reads or<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * modifies data.<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * the operation has completed, whether it succeeded or failed.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @param op The operation is about to be taken on the region<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @throws IOException<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  void startRegionOperation(Operation op) throws IOException;<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>  /**<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * Closes the region operation lock.<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   * @throws IOException<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  void closeRegionOperation() throws IOException;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  // Row write locks<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * Row lock held by a given thread.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * One thread may acquire multiple locks on the same row simultaneously.<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * The locks must be released by calling release() from the same thread.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  public interface RowLock {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    /**<a name="line.273"></a>
+<span class="sourceLineNo">274</span>     * Release the given lock.  If there are no remaining locks held by the current thread<a name="line.274"></a>
+<span class="sourceLineNo">275</span>     * then unlock the row and allow other threads to acquire the lock.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>     * @throws IllegalArgumentException if called by a different thread than the lock owning<a name="line.276"></a>
+<span class="sourceLineNo">277</span>     *     thread<a name="line.277"></a>
+<span class="sourceLineNo">278</span>     */<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    void release();<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Tries to acquire a lock on the given row.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * @param waitForLock if true, will block until the lock is available.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   *        Otherwise, just tries to obtain the lock and returns<a name="line.285"></a>
+<span class="sourceLineNo">286</span>   *        false if unavailable.<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * @return the row lock if acquired,<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   *   null if waitForLock was false and the lock was not acquired<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * @throws IOException if waitForLock was true and the lock could not be acquired after waiting<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  RowLock getRowLock(byte[] row, boolean waitForLock) throws IOException;<a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * If the given list of row locks is not null, releases all locks.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  void releaseRowLocks(List&lt;RowLock&gt; rowLocks);<a name="line.296"></a>
 <span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * Perform one or more append operations on a row.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param append<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @param nonceGroup<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * @param nonce<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @return result of the operation<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @throws IOException<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  Result append(Append append, long nonceGroup, long nonce) throws IOException;<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * Perform a batch of mutations.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * &lt;p&gt;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Note this supports only Put and Delete mutations and will ignore other types passed.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * @param mutations the list of mutations<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * @param nonceGroup<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * @param nonce<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * @return an array of OperationStatus which internally contains the<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * @throws IOException<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   */<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  OperationStatus[] batchMutate(Mutation[] mutations, long nonceGroup, long nonce)<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      throws IOException;<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * Replay a batch of mutations.<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param mutations mutations to replay.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @param replaySeqId<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * @return an array of OperationStatus which internally contains the<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * @throws IOException<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   */<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   OperationStatus[] batchReplay(MutationReplay[] mutations, long replaySeqId) throws IOException;<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * Atomically checks if a row/family/qualifier value matches the expected value and if it does,<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * it performs the mutation. If the passed value is null, the lack of column value<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * (ie: non-existence) is used. See checkAndRowMutate to do many checkAndPuts at a time on a<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * single row.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * @param row to check<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   * @param family column family to check<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @param qualifier column qualifier to check<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param compareOp the comparison operator<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @param comparator<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @param mutation<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * @param writeToWAL<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * @return true if mutation was applied, false otherwise<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   * @throws IOException<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   */<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  boolean checkAndMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      ByteArrayComparable comparator, Mutation mutation, boolean writeToWAL) throws IOException;<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   * Atomically checks if a row/family/qualifier value matches the expected values and if it does,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>   * it performs the row mutations. If the passed value is null, the lack of column value<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * (ie: non-existence) is used. Use to do many mutations on a single row. Use checkAndMutate<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   * to do one checkAndMutate at a time.<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * @param row to check<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * @param family column family to check<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * @param qualifier column qualifier to check<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * @param compareOp the comparison operator<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * @param comparator<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param mutations<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param writeToWAL<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return true if mutations were applied, false otherwise<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @throws IOException<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   */<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  boolean checkAndRowMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      ByteArrayComparable comparator, RowMutations mutations, boolean writeToWAL)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throws IOException;<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>  /**<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * Deletes the specified cells/row.<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @param delete<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @throws IOException<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  void delete(Delete delete) throws IOException;<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  /**<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * Do a get based on the get parameter.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * @param get query parameters<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @return result of the operation<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   */<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  Result get(Get get) throws IOException;<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  /**<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   * Do a get based on the get parameter.<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * @param get query parameters<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * @param withCoprocessor invoke coprocessor or not. We don't want to<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * always invoke cp.<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * @return list of cells resulting from the operation<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  List&lt;Cell&gt; get(Get get, boolean withCoprocessor) throws IOException;<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span>  /**<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * Return an iterator that scans over the HRegion, returning the indicated<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * columns and rows specified by the {@link Scan}.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * &lt;p&gt;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * This Iterator must be closed by the caller.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   *<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * @param scan configured {@link Scan}<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * @return RegionScanner<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @throws IOException read exceptions<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  RegionScanner getScanner(Scan scan) throws IOException;<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>   * Return an iterator that scans over the HRegion, returning the indicated columns and rows<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * specified by the {@link Scan}. The scanner will also include the additional scanners passed<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * along with the scanners for the specified Scan instance. Should be careful with the usage to<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * pass additional scanners only within this Region<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * &lt;p&gt;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * This Iterator must be closed by the caller.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   *<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * @param scan configured {@link Scan}<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * @param additionalScanners Any additional scanners to be used<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * @return RegionScanner<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * @throws IOException read exceptions<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   */<a name="line.416"></a>
-<span class="sourceLineNo">417</span>  RegionScanner getScanner(Scan scan, List&lt;KeyValueScanner&gt; additionalScanners) throws IOException;<a name="line.417"></a>
-<span class="sourceLineNo">418</span><a name="line.418"></a>
-<span class="sourceLineNo">419</span>  /** The comparator to be used with the region */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  CellComparator getCellCompartor();<a name="line.420"></a>
+<span class="sourceLineNo">298</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  // Region operations<a name="line.299"></a>
+<span class="sourceLineNo">300</span><a name="line.300"></a>
+<span class="sourceLineNo">301</span>  /**<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   * Perform one or more append operations on a row.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   * @param append<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   * @param nonceGroup<a name="line.304"></a>
+<span class="sourceLineNo">305</span>   * @param nonce<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * @return result of the operation<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * @throws IOException<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   */<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  Result append(Append append, long nonceGroup, long nonce) throws IOException;<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>  /**<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * Perform a batch of mutations.<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * &lt;p&gt;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * Note this supports only Put and Delete mutations and will ignore other types passed.<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @param mutations the list of mutations<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * @param nonceGroup<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   * @param nonce<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * @return an array of OperationStatus which internally contains the<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.319"></a>
+<span class="sourceLineNo">320</span>   * @throws IOException<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   */<a name="line.321"></a>
+<span class="sourceLineNo">322</span>  OperationStatus[] batchMutate(Mutation[] mutations, long nonceGroup, long nonce)<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      throws IOException;<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  /**<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * Replay a batch of mutations.<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @param mutations mutations to replay.<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * @param replaySeqId<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   * @return an array of OperationStatus which internally contains the<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * @throws IOException<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   OperationStatus[] batchReplay(MutationReplay[] mutations, long replaySeqId) throws IOException;<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * Atomically checks if a row/family/qualifier value matches the expected value and if it does,<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * it performs the mutation. If the passed value is null, the lack of column value<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * (ie: non-existence) is used. See checkAndRowMutate to do many checkAndPuts at a time on a<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * single row.<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @param row to check<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * @param family column family to check<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * @param qualifier column qualifier to check<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   * @param compareOp the comparison operator<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * @param comparator<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * @param mutation<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   * @param writeToWAL<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   * @return true if mutation was applied, false otherwise<a name="line.347"></a>
+<span class="sourceLineNo">348</span>   * @throws IOException<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   */<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  boolean checkAndMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      ByteArrayComparable comparator, Mutation mutation, boolean writeToWAL) throws IOException;<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>  /**<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   * Atomically checks if a row/family/qualifier value matches the expected values and if it does,<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * it performs the row mutations. If the passed value is null, the lack of column value<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   * (ie: non-existence) is used. Use to do many mutations on a single row. Use checkAndMutate<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   * to do one checkAndMutate at a time.<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   * @param row to check<a name="line.358"></a>
+<span class="sourceLineNo">359</span>   * @param family column family to check<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   * @param qualifier column qualifier to check<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * @param compareOp the comparison operator<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * @param comparator<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * @param mutations<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * @param writeToWAL<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @return true if mutations were applied, false otherwise<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @throws IOException<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  boolean checkAndRowMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      ByteArrayComparable comparator, RowMutations mutations, boolean writeToWAL)<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      throws IOException;<a name="line.370"></a>
+<span class="sourceLineNo">371</span><a name="line.371"></a>
+<span class="sourceLineNo">372</span>  /**<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * Deletes the specified cells/row.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * @param delete<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * @throws IOException<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   */<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  void delete(Delete delete) throws IOException;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>  /**<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * Do a get based on the get parameter.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * @param get query parameters<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @return result of the operation<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   */<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  Result get(Get get) throws IOException;<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  /**<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * Do a get based on the get parameter.<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   * @param get query parameters<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * @param withCoprocessor invoke coprocessor or not. We don't want to<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * always invoke cp.<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   * @return list of cells resulting from the operation<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   */<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  List&lt;Cell&gt; get(Get get, boolean withCoprocessor) throws IOException;<a name="line.393"></a>
+<span class="sourceLineNo">394</span><a name="line.394"></a>
+<span class="sourceLineNo">395</span>  /**<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * Return an iterator that scans over the HRegion, returning the indicated<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   * columns and rows specified by the {@link Scan}.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * &lt;p&gt;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * This Iterator must be closed by the caller.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   *<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * @param scan configured {@link Scan}<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * @return RegionScanner<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   * @throws IOException read exceptions<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   */<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  RegionScanner getScanner(Scan scan) throws IOException;<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  /**<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * Return an iterator that scans over the HRegion, returning the indicated columns and rows<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * specified by the {@link Scan}. The scanner will also include the additional scanners passed<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * along with the scanners for the specified Scan instance. Should be careful with the usage to<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * pass additional scanners only within this Region<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   * &lt;p&gt;<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * This Iterator must be closed by the caller.<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   *<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   * @param scan configured {@link Scan}<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * @param additionalScanners Any additional scanners to be used<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * @return RegionScanner<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @throws IOException read exceptions<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  RegionScanner getScanner(Scan scan, List&lt;KeyValueScanner&gt; additionalScanners) throws IOException;<a name="line.420"></a>
 <span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  /**<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   * Perform one or more increment operations on a row.<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * @param increment<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * @param nonceGroup<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param nonce<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @return result of the operation<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @throws IOException<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  Result increment(Increment increment, long nonceGroup, long nonce) throws IOException;<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Performs multiple mutations atomically on a single row. Currently<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * {@link Put} and {@link Delete} are supported.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   *<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * @param mutations object that specifies the set of mutations to perform atomically<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * @throws IOException<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   */<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  void mutateRow(RowMutations mutations) throws IOException;<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>   * Perform atomic mutations within the region.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   *<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * @param mutations The list of mutations to perform.<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * &lt;code&gt;mutations&lt;/code&gt; can contain operations for multiple rows.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Caller has to ensure that all rows are contained in this region.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * @param rowsToLock Rows to lock<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   * If multiple rows are locked care should be taken that<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   * &lt;code&gt;rowsToLock&lt;/code&gt; is sorted in order to avoid deadlocks.<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   * @throws IOException<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   */<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  void mutateRowsWithLocks(Collection&lt;Mutation&gt; mutations, Collection&lt;byte[]&gt; rowsToLock,<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      long nonceGroup, long nonce) throws IOException;<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>   * Performs atomic multiple reads and writes on a given row.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   *<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * @param processor The object defines the reads and writes to a row.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   */<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor) throws IOException;<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>  /**<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   *<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * @param processor The object defines the reads and writes to a row.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long nonceGroup, long nonce)<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      throws IOException;<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>  /**<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   *<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * @param processor The object defines the reads and writes to a row.<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @param timeout The timeout of the processor.process() execution<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   *                Use a negative number to switch off the time bound<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long timeout, long nonceGroup, long nonce)<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      throws IOException;<a name="line.484"></a>
-<span class="sourceLineNo">485</span><a name="line.485"></a>
-<span class="sourceLineNo">486</span>  /**<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * Puts some data in the table.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @param put<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * @throws IOException<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   */<a name="line.490"></a>
-<span class="sourceLineNo">491</span>  void put(Put put) throws IOException;<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>  /**<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * Listener class to enable callers of<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * bulkLoadHFile() to perform any necessary<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   * pre/post processing of a given bulkload call<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   */<a name="line.497"></a>
-<span class="sourceLineNo">498</span>  interface BulkLoadListener {<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>     * Called before an HFile is actually loaded<a name="line.501"></a>
-<span class="sourceLineNo">502</span>     * @param family family being loaded to<a name="line.502"></a>
-<span class="sourceLineNo">503</span>     * @param srcPath path of HFile<a name="line.503"></a>
-<span class="sourceLineNo">504</span>     * @return final path to be used for actual loading<a name="line.504"></a>
-<span class="sourceLineNo">505</span>     * @throws IOException<a name="line.505"></a>
-<span class="sourceLineNo">506</span>     */<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    String prepareBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>    /**<a name="line.509"></a>
-<span class="sourceLineNo">510</span>     * Called after a successful HFile load<a name="line.510"></a>
-<span class="sourceLineNo">511</span>     * @param family family being loaded to<a name="line.511"></a>
-<span class="sourceLineNo">512</span>     * @param srcPath path of HFile<a name="line.512"></a>
-<span class="sourceLineNo">513</span>     * @throws IOException<a name="line.513"></a>
-<span class="sourceLineNo">514</span>     */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    void doneBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    /**<a name="line.517"></a>
-<span class="sourceLineNo">518</span>     * Called after a failed HFile load<a name="line.518"></a>
-<span class="sourceLineNo">519</span>     * @param family family being loaded to<a name="line.519"></a>
-<span class="sourceLineNo">520</span>     * @param srcPath path of HFile<a name="line.520"></a>
-<span class="sourceLineNo">521</span>     * @throws IOException<a name="line.521"></a>
-<span class="sourceLineNo">522</span>     */<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    void failedBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>  }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>  /**<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * Attempts to atomically load a group of hfiles.  This is critical for loading<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * rows with multiple column families atomically.<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   *<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param familyPaths List of Pair&amp;lt;byte[] column family, String hfilePath&amp;gt;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param bulkLoadListener Internal hooks enabling massaging/preparation of a<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * file about to be bulk loaded<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @param assignSeqId<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   * @return true if successful, false if failed recoverably<a name="line.534"></a>
-<span class="sourceLineNo">535</span>   * @throws IOException if failed unrecoverably.<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   */<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  boolean bulkLoadHFiles(Collection&lt;Pair&lt;byte[], String&gt;&gt; familyPaths, boolean assignSeqId,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      BulkLoadListener bulkLoadListener) throws IOException;<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.540"></a>
-<span class="sourceLineNo">541</span>  // Coprocessors<a name="line.541"></a>
+<span class="sourceLineNo">422</span>  /** The comparator to be used with the region */<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  CellComparator getCellCompartor();<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>  /**<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * Perform one or more increment operations on a row.<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * @param increment<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * @param nonceGroup<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * @param nonce<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * @return result of the operation<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * @throws IOException<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   */<a name="line.432"></a>
+<span class="sourceLineNo">433</span>  Result increment(Increment increment, long nonceGroup, long nonce) throws IOException;<a name="line.433"></a>
+<span class="sourceLineNo">434</span><a name="line.434"></a>
+<span class="sourceLineNo">435</span>  /**<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * Performs multiple mutations atomically on a single row. Currently<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * {@link Put} and {@link Delete} are supported.<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   *<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   * @param mutations object that specifies the set of mutations to perform atomically<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   * @throws IOException<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   */<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  void mutateRow(RowMutations mutations) throws IOException;<a name="line.442"></a>
+<span class="sourceLineNo">443</span><a name="line.443"></a>
+<span class="sourceLineNo">444</span>  /**<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * Perform atomic mutations within the region.<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   *<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   * @param mutations The list of mutations to perform.<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   * &lt;code&gt;mutations&lt;/code&gt; can contain operations for multiple rows.<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   * Caller has to ensure that all rows are contained in this region.<a name="line.449"></a>
+<span class="sourceLineNo">450</span>   * @param rowsToLock Rows to lock<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.451"></a>
+<span class="sourceLineNo">452</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * If multiple rows are locked care should be taken that<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * &lt;code&gt;rowsToLock&lt;/code&gt; is sorted in order to avoid deadlocks.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   * @throws IOException<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   */<a name="line.456"></a>
+<span class="sourceLineNo">457</span>  void mutateRowsWithLocks(Collection&lt;Mutation&gt; mutations, Collection&lt;byte[]&gt; rowsToLock,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      long nonceGroup, long nonce) throws IOException;<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>   * Performs atomic multiple reads and writes on a given row.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   *<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   * @param processor The object defines the reads and writes to a row.<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   */<a name="line.464"></a>
+<span class="sourceLineNo">465</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor) throws IOException;<a name="line.465"></a>
+<span class="sourceLineNo">466</span><a name="line.466"></a>
+<span class="sourceLineNo">467</span>  /**<a name="line.467"></a>
+<span class="sourceLineNo">468</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.468"></a>
+<span class="sourceLineNo">469</span>   *<a name="line.469"></a>
+<span class="sourceLineNo">470</span>   * @param processor The object defines the reads and writes to a row.<a name="line.470"></a>
+<span class="sourceLineNo">471</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   */<a name="line.473"></a>
+<span class="sourceLineNo">474</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long nonceGroup, long nonce)<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      throws IOException;<a name="line.475"></a>
+<span class="sourceLineNo">476</span><a name="line.476"></a>
+<span class="sourceLineNo">477</span>  /**<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   *<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * @param processor The object defines the reads and writes to a row.<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   * @param timeout The timeout of the processor.process() execution<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   *                Use a negative number to switch off the time bound<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.483"></a>
+<span class="sourceLineNo">484</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.484"></a>
+<span class="sourceLineNo">485</span>   */<a name="line.485"></a>
+<span class="sourceLineNo">486</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long timeout, long nonceGroup, long nonce)<a name="line.486"></a>
+<span class="sourceLineNo">487</span>      throws IOException;<a name="line.487"></a>
+<span class="sourceLineNo">488</span><a name="line.488"></a>
+<span class="sourceLineNo">489</span>  /**<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * Puts some data in the table.<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * @param put<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * @throws IOException<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   */<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  void put(Put put) throws IOException;<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>  /**<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * Listener class to enable callers of<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * bulkLoadHFile() to perform any necessary<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * pre/post processing of a given bulkload call<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
+<span class="sourceLineNo">501</span>  interface BulkLoadListener {<a name="line.501"></a>
+<span class="sourceLineNo">502</span><a name="line.502"></a>
+<span class="sourceLineNo">503</span>    /**<a name="line.503"></a>
+<span class="sourceLineNo">504</span>     * Called before an HFile is actually loaded<a name="line.504"></a>
+<span class="sourceLineNo">505</span>     * @param family family being loaded to<a name="line.505"></a>
+<span class="sourceLineNo">506</span>     * @param srcPath path of HFile<a name="line.506"></a>
+<span class="sourceLineNo">507</span>     * @return final path to be used for actual loading<a name="line.507"></a>
+<span class="sourceLineNo">508</span>     * @throws IOException<a name="line.508"></a>
+<span class="sourceLineNo">509</span>     */<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    String prepareBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.510"></a>
+<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">512</span>    /**<a name="line.512"></a>
+<span class="sourceLineNo">513</span>     * Called after a successful HFile load<a name="line.513"></a>
+<span class="sourceLineNo">514</span>     * @param family family being loaded to<a name="line.514"></a>
+<span class="sourceLineNo">515</span>     * @param srcPath path of HFile<a name="line.515"></a>
+<span class="sourceLineNo">516</span>     * @throws IOException<a name="line.516"></a>
+<span class="sourceLineNo">517</span>     */<a name="line.517"></a>
+<span class="sourceLineNo">518</span>    void doneBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.518"></a>
+<span class="sourceLineNo">519</span><a name="line.519"></a>
+<span class="sourceLineNo">520</span>    /**<a name="line.520"></a>
+<span class="sourceLineNo">521</span>     * Called after a failed HFile load<a name="line.521"></a>
+<span class="sourceLineNo">522</span>     * @param family family being loaded to<a name="line.522"></a>
+<span class="sourceLineNo">523</span>     * @param srcPath path of HFile<a name="line.523"></a>
+<span class="sourceLineNo">524</span>     * @throws IOException<a name="line.524"></a>
+<span class="sourceLineNo">525</span>     */<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    void failedBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.526"></a>
+<span class="sourceLineNo">527</span>  }<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span>  /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * Attempts to atomically load a group of hfiles.  This is critical for loading<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   * rows with multiple column families atomically.<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   *<a name="line.532"></a>
+<span class="sourceLineNo">533</span>   * @param familyPaths List of Pair&amp;lt;byte[] column family, String hfilePath&amp;gt;<a name="line.533"></a>
+<span class="sourceLineNo">534</span>   * @param bulkLoadListener Internal hooks enabling massaging/preparation of a<a name="line.534"></a>
+<span class="sourceLineNo">535</span>   * file about to be bulk loaded<a name="line.535"></a>
+<span class="sourceLineNo">536</span>   * @param assignSeqId<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   * @return true if successful, false if failed recoverably<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @throws IOException if failed unrecoverably.<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   */<a name="line.539"></a>
+<span class="sourceLineNo">540</span>  boolean bulkLoadHFiles(Collection&lt;Pair&lt;byte[], String&gt;&gt; familyPaths, boolean assignSeqId,<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      BulkLoadListener bulkLoadListener) throws IOException;<a name="line.541"></a>
 <span class="sourceLineNo">542</span><a name="line.542"></a>
-<span class="sourceLineNo">543</span>  /** @return the coprocessor host */<a name="line.543"></a>
-<span class="sourceLineNo">544</span>  RegionCoprocessorHost getCoprocessorHost();<a name="line.544"></a>
+<span class="sourceLineNo">543</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.543"></a>
+<span class="sourceLineNo">544</span>  // Coprocessors<a name="line.544"></a>
 <span class="sourceLineNo">545</span><a name="line.545"></a>
-<span class="sourceLineNo">546</span>  /**<a name="line.546"></a>
-<span class="sourceLineNo">547</span>   * Executes a single protocol buffer coprocessor endpoint {@link Service} method using<a name="line.547"></a>
-<span class="sourceLineNo">548</span>   * the registered protocol handlers.  {@link Service} implementations must be registered via the<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * {@link Region#registerService(com.google.protobuf.Service)}<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * method before they are available.<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   *<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   * @param controller an {@code RpcContoller} implementation to pass to the invoked service<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param call a {@code CoprocessorServiceCall} instance identifying the service, method,<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   *     and parameters for the method invocation<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * @return a protocol buffer {@code Message} instance containing the method's result<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @throws IOException if no registered service handler is found or an error<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   *     occurs during the invocation<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @see org.apache.hadoop.hbase.regionserver.Region#registerService(com.google.protobuf.Service)<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  Message execService(RpcController controller, CoprocessorServiceCall call) throws IOException;<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  /**<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   * Registers a new protocol buffer {@link Service} subclass as a coprocessor endpoint to<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * be available for handling<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * {@link Region#execService(com.google.protobuf.RpcController,<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   *    org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)}} calls.<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   *<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * &lt;p&gt;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * Only a single instance may be registered per region for a given {@link Service} subclass (the<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * instances are keyed on {@link com.google.protobuf.Descriptors.ServiceDescriptor#getFullName()}.<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * After the first registration, subsequent calls with the same service name will fail with<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   * a return value of {@code false}.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   * &lt;/p&gt;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>   * @param instance the {@code Service} subclass instance to expose as a coprocessor endpoint<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   * @return {@code true} if the registration was successful, {@code false}<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   * otherwise<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   */<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  boolean registerService(Service instance);<a name="line.578"></a>
-<span class="sourceLineNo">579</span><a name="line.579"></a>
-<span class="sourceLineNo">580</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.580"></a>
-<span class="sourceLineNo">581</span>  // RowMutation processor support<a name="line.581"></a>
+<span class="sourceLineNo">546</span>  /** @return the coprocessor host */<a name="line.546"></a>
+<span class="sourceLineNo">547</span>  RegionCoprocessorHost getCoprocessorHost();<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>  /**<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * Executes a single protocol buffer coprocessor endpoint {@link Service} method using<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * the registered protocol handlers.  {@link Service} implementations must be registered via the<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   * {@link Region#registerService(com.google.protobuf.Service)}<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   * method before they are available.<a name="line.553"></a>
+<span class="sourceLineNo">554</span>   *<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   * @param controller an {@code RpcContoller} implementation to pass to the invoked service<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   * @param call a {@code CoprocessorServiceCall} instance identifying the service, method,<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   *     and parameters for the method invocation<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   * @return a protocol buffer {@code Message} instance containing the method's result<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   * @throws IOException if no registered service handler is found or an error<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   *     occurs during the invocation<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   * @see org.apache.hadoop.hbase.regionserver.Region#registerService(com.google.protobuf.Service)<a name="line.561"></a>
+<span class="sourceLineNo">562</span>   */<a name="line.562"></a>
+<span class="sourceLineNo">563</span>  Message execService(RpcController controller, CoprocessorServiceCall call) throws IOException;<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span>  /**<a name="line.565"></a>
+<span class="sourceLineNo">566</span>   * Registers a new protocol buffer {@link Service} subclass as a coprocessor endpoint to<a name="line.566"></a>
+<span class="sourceLineNo">567</span>   * be available for handling<a name="line.567"></a>
+<span class="sourceLineNo">568</span>   * {@link Region#execService(com.google.protobuf.RpcController,<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   *    org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)}} calls.<a name="line.569"></a>
+<span class="sourceLineNo">570</span>   *<a name="line.570"></a>
+<span class="sourceLineNo">571</span>   * &lt;p&gt;<a name="line.571"></a>
+<span class="sourceLineNo">572</span>   * Only a single instance may be registered per region for a given {@link Service} subclass (the<a name="line.572"></a>
+<span class="sourceLineNo">573</span>   * instances are keyed on {@link com.google.protobuf.Descriptors.ServiceDescriptor#getFullName()}.<a name="line.573"></a>
+<span class="sourceLineNo">574</span>   * After the first registration, subsequent calls with the same service name will fail with<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   * a return value of {@code false}.<a name="line.575"></a>
+<span class="sourceLineNo">576</span>   * &lt;/p&gt;<a name="line.576"></a>
+<span class="sourceLineNo">577</span>   * @param instance the {@code Service} subclass instance to expose as a coprocessor endpoint<a name="line.577"></a>
+<span class="sourceLineNo">578</span>   * @return {@code true} if the registration was successful, {@code false}<a name="line.578"></a>
+<span class="sourceLineNo">579</span>   * otherwise<a name="line.579"></a>
+<span class="sourceLineNo">580</span>   */<a name="line.580"></a>
+<span class="sourceLineNo">581</span>  boolean registerService(Service instance);<a name="line.581"></a>
 <span class="sourceLineNo">582</span><a name="line.582"></a>
-<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * Check the collection of families for validity.<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   * @param families<a name="line.585"></a>
-<span class="sourceLineNo">586</span>   * @throws NoSuchColumnFamilyException<a name="line.586"></a>
-<span class="sourceLineNo">587</span>   */<a name="line.587"></a>
-<span class="sourceLineNo">588</span>  void checkFamilies(Collection&lt;byte[]&gt; families) throws NoSuchColumnFamilyException;<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>  /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * Check the collection of families for valid timestamps<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * @param familyMap<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   * @param now current timestamp<a name="line.593"></a>
-<span class="sourceLineNo">594</span>   * @throws FailedSanityCheckException<a name="line.594"></a>
-<span class="sourceLineNo">595</span>   */<a name="line.595"></a>
-<span class="sourceLineNo">596</span>  void checkTimestamps(Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, long now)<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      throws FailedSanityCheckException;<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Prepare a delete for a row mutation processor<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   * @param delete The passed delete is modified by this method. WARNING!<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * @throws IOException<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   */<a name="line.603"></a>
-<span class="sourceLineNo">604</span>  void prepareDelete(Delete delete) throws IOException;<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>  /**<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * Set up correct timestamps in the KVs in Delete object.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * &lt;p&gt;Caller should have the row and region locks.<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * @param mutation<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * @param familyCellMap<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * @param now<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * @throws IOException<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   */<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  void prepareDeleteTimestamps(Mutation mutation, Map&lt;byte[], List&lt;Cell&gt;&gt; familyCellMap,<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      byte[] now) throws IOException;<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>  /**<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * Replace any cell timestamps set to {@link org.apache.hadoop.hbase.HConstants#LATEST_TIMESTAMP}<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * provided current timestamp.<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @param values<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @param now<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  void updateCellTimestamps(final Iterable&lt;List&lt;Cell&gt;&gt; values, final byte[] now)<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      throws IOException;<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.626"></a>
-<span class="sourceLineNo">627</span>  // Flushes, compactions, splits, etc.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>  // Wizards only, please<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>  interface FlushResult {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    enum Result {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      FLUSHED_NO_COMPACTION_NEEDED,<a name="line.632"></a>
-<span class="sourceLineNo">633</span>      FLUSHED_COMPACTION_NEEDED,<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      // Special case where a flush didn't run because there's nothing in the memstores. Used when<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      // bulk loading to know when we can still load even if a flush didn't happen.<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      CANNOT_FLUSH_MEMSTORE_EMPTY,<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      CANNOT_FLUSH<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    }<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>    /** @return the detailed result code */<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    Result getResult();<a name="line.641"></a>
+<span class="sourceLineNo">583</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.583"></a>
+<span class="sourceLineNo">584</span>  // RowMutation processor support<a name="line.584"></a>
+<span class="sourceLineNo">585</span><a name="line.585"></a>
+<span class="sourceLineNo">586</span>  /**<a name="line.586"></a>
+<span class="sourceLineNo">587</span>   * Check the collection of families for validity.<a name="line.587"></a>
+<span class="sourceLineNo">588</span>   * @param families<a name="line.588"></a>
+<span class="sourceLineNo">589</span>   * @throws NoSuchColumnFamilyException<a name="line.589"></a>
+<span class="sourceLineNo">590</span>   */<a name="line.590"></a>
+<span class="sourceLineNo">591</span>  void checkFamilies(Collection&lt;byte[]&gt; families) throws NoSuchColumnFamilyException;<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span>  /**<a name="line.593"></a>
+<span class="sourceLineNo">594</span>   * Check the collection of families for valid timestamps<a name="line.594"></a>
+<span class="sourceLineNo">595</span>   * @param familyMap<a name="line.595"></a>
+<span class="sourceLineNo">596</span>   * @param now current timestamp<a name="line.596"></a>
+<span class="sourceLineNo">597</span>   * @throws FailedSanityCheckException<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   */<a name="line.598"></a>
+<span class="sourceLineNo">599</span>  void checkTimestamps(Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, long now)<a name="line.599"></a>
+<span class="sourceLineNo">600</span>      throws FailedSanityCheckException;<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span>  /**<a name="line.602"></a>
+<span class="sourceLineNo">603</span>   * Prepare a delete for a row mutation processor<a name="line.603"></a>
+<span class="sourceLineNo">604</span>   * @param delete The passed delete is modified by this method. WARNING!<a name="line.604"></a>
+<span class="sourceLineNo">605</span>   * @throws IOException<a name="line.605"></a>
+<span class="sourceLineNo">606</span>   */<a name="line.606"></a>
+<span class="sourceLineNo">607</span>  void prepareDelete(Delete delete) throws IOException;<a name="line.607"></a>
+<span class="sourceLineNo">608</span><a name="line.608"></a>
+<span class="sourceLineNo">609</span>  /**<a name="line.609"></a>
+<span class="sourceLineNo">610</span>   * Set up correct timestamps in the KVs in Delete object.<a name="line.610"></a>
+<span class="sourceLineNo">611</span>   * &lt;p&gt;Caller should have the row and region locks.<a name="line.611"></a>
+<span class="sourceLineNo">612</span>   * @param mutation<a name="line.612"></a>
+<span class="sourceLineNo">613</span>   * @param familyCellMap<a name="line.613"></a>
+<span class="sourceLineNo">614</span>   * @param now<a name="line.614"></a>
+<span class="sourceLineNo">615</span>   * @throws IOException<a name="line.615"></a>
+<span class="sourceLineNo">616</span>   */<a name="line.616"></a>
+<span class="sourceLineNo">617</span>  void prepareDeleteTimestamps(Mutation mutation, Map&lt;byte[], List&lt;Cell&gt;&gt; familyCellMap,<a name="line.617"></a>
+<span class="sourceLineNo">618</span>      byte[] now) throws IOException;<a name="line.618"></a>
+<span class="sourceLineNo">619</span><a name="line.619"></a>
+<span class="sourceLineNo">620</span>  /**<a name="line.620"></a>
+<span class="sourceLineNo">621</span>   * Replace any cell timestamps set to {@link org.apache.hadoop.hbase.HConstants#LATEST_TIMESTAMP}<a name="line.621"></a>
+<span class="sourceLineNo">622</span>   * provided current timestamp.<a name="line.622"></a>
+<span class="sourceLineNo">623</span>   * @param values<a name="line.623"></a>
+<span class="sourceLineNo">624</span>   * @param now<a name="line.624"></a>
+<span class="sourceLineNo">625</span>   */<a name="line.625"></a>
+<span class="sourceLineNo">626</span>  void updateCellTimestamps(final Iterable&lt;List&lt;Cell&gt;&gt; values, final byte[] now)<a name="line.626"></a>
+<span class="sourceLineNo">627</span>      throws IOException;<a name="line.627"></a>
+<span class="sourceLineNo">628</span><a name="line.628"></a>
+<span class="sourceLineNo">629</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.629"></a>
+<span class="sourceLineNo">630</span>  // Flushes, compactions, splits, etc.<a name="line.630"></a>
+<span class="sourceLineNo">631</span>  // Wizards only, please<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>  interface FlushResult {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>    enum Result {<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      FLUSHED_NO_COMPACTION_NEEDED,<a name="line.635"></a>
+<span class="sourceLineNo">636</span>      FLUSHED_COMPACTION_NEEDED,<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      // Special case where a flush didn't run because there's nothing in the memstores. Used when<a name="line.637"></a>
+<span class="sourceLineNo">638</span>      // bulk loading to know when we can still load even if a flush didn't happen.<a name="line.638"></a>
+<span class="sourceLineNo">639</span>      CANNOT_FLUSH_MEMSTORE_EMPTY,<a name="line.639"></a>
+<span class="sourceLineNo">640</span>      CANNOT_FLUSH<a name="line.640"></a>
+<span class="sourceLineNo">641</span>    }<a name="line.641"></a>
 <span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>    /** @return true if the memstores were flushed, else false */<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    boolean isFlushSucceeded();<a name="line.644"></a>
+<span class="sourceLineNo">643</span>    /** @return the detailed res

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html
index fb165df..b31011f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.html
@@ -105,393 +105,397 @@
 <span class="sourceLineNo">097</span>    throws java.io.IOException<a name="line.97"></a>
 <span class="sourceLineNo">098</span>  {<a name="line.98"></a>
 <span class="sourceLineNo">099</span>    // 172, 1<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;th&gt;ServerName&lt;/th&gt;\n    &lt;th&gt;Request Per Second&lt;/th&gt;\n    &lt;th&gt;Read Request Count&lt;/th&gt;\n    &lt;th&gt;Write Request Count&lt;/th&gt;\n&lt;/tr&gt;\n");<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    // 179, 1<a name="line.101"></a>
+<span class="sourceLineNo">100</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;th&gt;ServerName&lt;/th&gt;\n    &lt;th&gt;Request Per Second&lt;/th&gt;\n    &lt;th&gt;Read Request Count&lt;/th&gt;\n    &lt;th&gt;Filtered Read Request Count&lt;/th&gt;\n    &lt;th&gt;Write Request Count&lt;/th&gt;\n&lt;/tr&gt;\n");<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    // 180, 1<a name="line.101"></a>
 <span class="sourceLineNo">102</span>    <a name="line.102"></a>
 <span class="sourceLineNo">103</span>for (ServerName serverName: serverNames) {<a name="line.103"></a>
 <span class="sourceLineNo">104</span><a name="line.104"></a>
 <span class="sourceLineNo">105</span>ServerLoad sl = master.getServerManager().getLoad(serverName);<a name="line.105"></a>
 <span class="sourceLineNo">106</span>if (sl != null) {<a name="line.106"></a>
 <span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>    // 185, 1<a name="line.108"></a>
+<span class="sourceLineNo">108</span>    // 186, 1<a name="line.108"></a>
 <span class="sourceLineNo">109</span>    jamonWriter.write("&lt;tr&gt;\n&lt;td&gt;");<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    // 186, 5<a name="line.110"></a>
+<span class="sourceLineNo">110</span>    // 187, 5<a name="line.110"></a>
 <span class="sourceLineNo">111</span>    {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      // 186, 5<a name="line.112"></a>
+<span class="sourceLineNo">112</span>      // 187, 5<a name="line.112"></a>
 <span class="sourceLineNo">113</span>      __jamon_innerUnit__serverNameLink(jamonWriter, serverName, sl);<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    }<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    // 186, 66<a name="line.115"></a>
+<span class="sourceLineNo">115</span>    // 187, 66<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    // 187, 5<a name="line.117"></a>
+<span class="sourceLineNo">117</span>    // 188, 5<a name="line.117"></a>
 <span class="sourceLineNo">118</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%.0f", sl.getRequestsPerSecond())), jamonWriter);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    // 187, 59<a name="line.119"></a>
+<span class="sourceLineNo">119</span>    // 188, 59<a name="line.119"></a>
 <span class="sourceLineNo">120</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    // 188, 5<a name="line.121"></a>
+<span class="sourceLineNo">121</span>    // 189, 5<a name="line.121"></a>
 <span class="sourceLineNo">122</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getReadRequestsCount()), jamonWriter);<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    // 188, 36<a name="line.123"></a>
+<span class="sourceLineNo">123</span>    // 189, 36<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    // 189, 5<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getWriteRequestsCount()), jamonWriter);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    // 189, 37<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n");<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    // 191, 1<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    <a name="line.130"></a>
-<span class="sourceLineNo">131</span>        }  else {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>        <a name="line.132"></a>
-<span class="sourceLineNo">133</span>    // 194, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      // 194, 1<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      __jamon_innerUnit__emptyStat(jamonWriter, serverName);<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    // 194, 40<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    jamonWriter.write("\n");<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    // 195, 1<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    <a name="line.141"></a>
-<span class="sourceLineNo">142</span>        }<a name="line.142"></a>
-<span class="sourceLineNo">143</span>}<a name="line.143"></a>
-<span class="sourceLineNo">144</span><a name="line.144"></a>
-<span class="sourceLineNo">145</span>    // 199, 1<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    jamonWriter.write("&lt;/table&gt;\n");<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  <a name="line.148"></a>
-<span class="sourceLineNo">149</span>  <a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // 302, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private void __jamon_innerUnit__emptyStat(final java.io.Writer jamonWriter, final ServerName serverName)<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    throws java.io.IOException<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    // 306, 5<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    jamonWriter.write("&lt;tr&gt;\n    &lt;td&gt;");<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    // 307, 9<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      // 307, 9<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      __jamon_innerUnit__serverNameLink(jamonWriter, serverName, null);<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    // 307, 72<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;/td&gt;\n    &lt;/tr&gt;\n");<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  <a name="line.165"></a>
-<span class="sourceLineNo">166</span>  // 285, 1<a name="line.166"></a>
-<span class="sourceLineNo">167</span>  private void __jamon_innerUnit__serverNameLink(final java.io.Writer jamonWriter, final ServerName serverName, final ServerLoad serverLoad)<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    throws java.io.IOException<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    // 290, 9<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    <a name="line.171"></a>
-<span class="sourceLineNo">172</span>        int infoPort = master.getRegionServerInfoPort(serverName);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        String url = "//" + serverName.getHostname() + ":" + infoPort + "/rs-status";<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        <a name="line.174"></a>
-<span class="sourceLineNo">175</span>    // 295, 9<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    if (infoPort &gt; 0)<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      // 295, 28<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      jamonWriter.write("\n            &lt;a href=\"");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      // 296, 22<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(url), jamonWriter);<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      // 296, 31<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      jamonWriter.write("\"&gt;");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      // 296, 33<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(serverName.getServerName()), jamonWriter);<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      // 296, 65<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      jamonWriter.write("&lt;/a&gt;\n        ");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    // 297, 9<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    else<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>      // 297, 16<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      jamonWriter.write("\n            ");<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      // 298, 13<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(serverName.getServerName()), jamonWriter);<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      // 298, 45<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      jamonWriter.write("\n        ");<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    // 299, 15<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    jamonWriter.write("\n");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  <a name="line.202"></a>
-<span class="sourceLineNo">203</span>  <a name="line.203"></a>
-<span class="sourceLineNo">204</span>  // 131, 1<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private void __jamon_innerUnit__memoryStats(final java.io.Writer jamonWriter, final ServerName[] serverNames)<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    throws java.io.IOException<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    // 135, 1<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;th&gt;ServerName&lt;/th&gt;\n    &lt;th&gt;Used Heap&lt;/th&gt;\n    &lt;th&gt;Max Heap&lt;/th&gt;\n    &lt;th&gt;Memstore Size&lt;/th&gt;\n\n&lt;/tr&gt;\n");<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    // 143, 1<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    <a name="line.211"></a>
-<span class="sourceLineNo">212</span>for (ServerName serverName: serverNames) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span><a name="line.213"></a>
-<span class="sourceLineNo">214</span>    ServerLoad sl = master.getServerManager().getLoad(serverName);<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    if (sl != null) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>    // 149, 1<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    jamonWriter.write("&lt;tr&gt;\n    &lt;td&gt;");<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    // 150, 9<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      // 150, 9<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      __jamon_innerUnit__serverNameLink(jamonWriter, serverName, sl);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    // 150, 70<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    // 151, 9<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getUsedHeapMB()), jamonWriter);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    // 151, 33<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    jamonWriter.write("m&lt;/td&gt;\n    &lt;td&gt;");<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    // 152, 9<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getMaxHeapMB()), jamonWriter);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    // 152, 32<a name="line.232"></a>
+<span class="sourceLineNo">125</span>    // 190, 5<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getFilteredReadRequestsCount()), jamonWriter);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    // 190, 44<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    // 191, 5<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getWriteRequestsCount()), jamonWriter);<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    // 191, 37<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n");<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    // 193, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    <a name="line.134"></a>
+<span class="sourceLineNo">135</span>        }  else {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        <a name="line.136"></a>
+<span class="sourceLineNo">137</span>    // 196, 1<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      // 196, 1<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      __jamon_innerUnit__emptyStat(jamonWriter, serverName);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    // 196, 40<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    jamonWriter.write("\n");<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    // 197, 1<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    <a name="line.145"></a>
+<span class="sourceLineNo">146</span>        }<a name="line.146"></a>
+<span class="sourceLineNo">147</span>}<a name="line.147"></a>
+<span class="sourceLineNo">148</span><a name="line.148"></a>
+<span class="sourceLineNo">149</span>    // 201, 1<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    jamonWriter.write("&lt;/table&gt;\n");<a name="line.150"></a>
+<span class="sourceLineNo">151</span>  }<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  <a name="line.152"></a>
+<span class="sourceLineNo">153</span>  <a name="line.153"></a>
+<span class="sourceLineNo">154</span>  // 304, 1<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  private void __jamon_innerUnit__emptyStat(final java.io.Writer jamonWriter, final ServerName serverName)<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    throws java.io.IOException<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    // 308, 5<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    jamonWriter.write("&lt;tr&gt;\n    &lt;td&gt;");<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    // 309, 9<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      // 309, 9<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      __jamon_innerUnit__serverNameLink(jamonWriter, serverName, null);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    }<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    // 309, 72<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;/td&gt;\n    &lt;/tr&gt;\n");<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  <a name="line.168"></a>
+<span class="sourceLineNo">169</span>  <a name="line.169"></a>
+<span class="sourceLineNo">170</span>  // 287, 1<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  private void __jamon_innerUnit__serverNameLink(final java.io.Writer jamonWriter, final ServerName serverName, final ServerLoad serverLoad)<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    throws java.io.IOException<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    // 292, 9<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    <a name="line.175"></a>
+<span class="sourceLineNo">176</span>        int infoPort = master.getRegionServerInfoPort(serverName);<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        String url = "//" + serverName.getHostname() + ":" + infoPort + "/rs-status";<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        <a name="line.178"></a>
+<span class="sourceLineNo">179</span>    // 297, 9<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    if (infoPort &gt; 0)<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      // 297, 28<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      jamonWriter.write("\n            &lt;a href=\"");<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      // 298, 22<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(url), jamonWriter);<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      // 298, 31<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      jamonWriter.write("\"&gt;");<a name="line.187"></a>
+<span class="sourceLineNo">188</span>      // 298, 33<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(serverName.getServerName()), jamonWriter);<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      // 298, 65<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      jamonWriter.write("&lt;/a&gt;\n        ");<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    }<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    // 299, 9<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    else<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      // 299, 16<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      jamonWriter.write("\n            ");<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      // 300, 13<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(serverName.getServerName()), jamonWriter);<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      // 300, 45<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      jamonWriter.write("\n        ");<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    // 301, 15<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    jamonWriter.write("\n");<a name="line.204"></a>
+<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  <a name="line.206"></a>
+<span class="sourceLineNo">207</span>  <a name="line.207"></a>
+<span class="sourceLineNo">208</span>  // 131, 1<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private void __jamon_innerUnit__memoryStats(final java.io.Writer jamonWriter, final ServerName[] serverNames)<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    throws java.io.IOException<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    // 135, 1<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;th&gt;ServerName&lt;/th&gt;\n    &lt;th&gt;Used Heap&lt;/th&gt;\n    &lt;th&gt;Max Heap&lt;/th&gt;\n    &lt;th&gt;Memstore Size&lt;/th&gt;\n\n&lt;/tr&gt;\n");<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    // 143, 1<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    <a name="line.215"></a>
+<span class="sourceLineNo">216</span>for (ServerName serverName: serverNames) {<a name="line.216"></a>
+<span class="sourceLineNo">217</span><a name="line.217"></a>
+<span class="sourceLineNo">218</span>    ServerLoad sl = master.getServerManager().getLoad(serverName);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    if (sl != null) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>    // 149, 1<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    jamonWriter.write("&lt;tr&gt;\n    &lt;td&gt;");<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    // 150, 9<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      // 150, 9<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      __jamon_innerUnit__serverNameLink(jamonWriter, serverName, sl);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    // 150, 70<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    // 151, 9<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getUsedHeapMB()), jamonWriter);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    // 151, 33<a name="line.232"></a>
 <span class="sourceLineNo">233</span>    jamonWriter.write("m&lt;/td&gt;\n    &lt;td&gt;");<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    // 153, 9<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getMemstoreSizeInMB()), jamonWriter);<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    // 153, 39<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    jamonWriter.write("m&lt;/td&gt;\n\n&lt;/tr&gt;\n");<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    // 156, 1<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    <a name="line.239"></a>
-<span class="sourceLineNo">240</span>        }  else {<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>    // 159, 1<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      // 159, 1<a name="line.244"></a>
-<span class="sourceLineNo">245</span>      __jamon_innerUnit__emptyStat(jamonWriter, serverName);<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // 159, 40<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    jamonWriter.write("\n");<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    // 160, 1<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    <a name="line.250"></a>
-<span class="sourceLineNo">251</span>        }<a name="line.251"></a>
-<span class="sourceLineNo">252</span>}<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>    // 164, 1<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    jamonWriter.write("&lt;/table&gt;\n");<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  <a name="line.257"></a>
-<span class="sourceLineNo">258</span>  <a name="line.258"></a>
-<span class="sourceLineNo">259</span>  // 71, 1<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private void __jamon_innerUnit__baseStats(final java.io.Writer jamonWriter, final ServerName[] serverNames)<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    throws java.io.IOException<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    // 75, 1<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;th&gt;ServerName&lt;/th&gt;\n    &lt;th&gt;Start time&lt;/th&gt;\n    &lt;th&gt;Version&lt;/th&gt;\n    &lt;th&gt;Requests Per Second&lt;/th&gt;\n    &lt;th&gt;Num. Regions&lt;/th&gt;\n&lt;/tr&gt;\n");<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    // 83, 1<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    <a name="line.266"></a>
-<span class="sourceLineNo">267</span>    int totalRegions = 0;<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    int totalRequests = 0;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    int inconsistentNodeNum = 0;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    String masterVersion = VersionInfo.getVersion();<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    for (ServerName serverName: serverNames) {<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span>    ServerLoad sl = master.getServerManager().getLoad(serverName);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    String version = master.getRegionServerVersion(serverName);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    if (!masterVersion.equals(version)) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        inconsistentNodeNum ++;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    }<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    <a name="line.278"></a>
-<span class="sourceLineNo">279</span>    double requestsPerSecond = 0.0;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    int numRegionsOnline = 0;<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>    if (sl != null) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        requestsPerSecond = sl.getRequestsPerSecond();<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        numRegionsOnline = sl.getNumberOfRegions();<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        totalRegions += sl.getNumberOfRegions();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        // Is this correct?  Adding a rate to a measure.<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        totalRequests += sl.getNumberOfRequests();<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    }<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    long startcode = serverName.getStartcode();<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>    // 108, 1<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    jamonWriter.write("&lt;tr&gt;\n    &lt;td&gt;");<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    // 109, 9<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      // 109, 9<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      __jamon_innerUnit__serverNameLink(jamonWriter, serverName, sl);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    // 109, 70<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    // 110, 9<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(new Date(startcode)), jamonWriter);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    // 110, 34<a name="line.302"></a>
+<span class="sourceLineNo">234</span>    // 152, 9<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getMaxHeapMB()), jamonWriter);<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    // 152, 32<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    jamonWriter.write("m&lt;/td&gt;\n    &lt;td&gt;");<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    // 153, 9<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getMemstoreSizeInMB()), jamonWriter);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    // 153, 39<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    jamonWriter.write("m&lt;/td&gt;\n\n&lt;/tr&gt;\n");<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    // 156, 1<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    <a name="line.243"></a>
+<span class="sourceLineNo">244</span>        }  else {<a name="line.244"></a>
+<span class="sourceLineNo">245</span><a name="line.245"></a>
+<span class="sourceLineNo">246</span>    // 159, 1<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      // 159, 1<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      __jamon_innerUnit__emptyStat(jamonWriter, serverName);<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    }<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    // 159, 40<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    jamonWriter.write("\n");<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    // 160, 1<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    <a name="line.254"></a>
+<span class="sourceLineNo">255</span>        }<a name="line.255"></a>
+<span class="sourceLineNo">256</span>}<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>    // 164, 1<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    jamonWriter.write("&lt;/table&gt;\n");<a name="line.259"></a>
+<span class="sourceLineNo">260</span>  }<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  <a name="line.261"></a>
+<span class="sourceLineNo">262</span>  <a name="line.262"></a>
+<span class="sourceLineNo">263</span>  // 71, 1<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  private void __jamon_innerUnit__baseStats(final java.io.Writer jamonWriter, final ServerName[] serverNames)<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    throws java.io.IOException<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    // 75, 1<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;th&gt;ServerName&lt;/th&gt;\n    &lt;th&gt;Start time&lt;/th&gt;\n    &lt;th&gt;Version&lt;/th&gt;\n    &lt;th&gt;Requests Per Second&lt;/th&gt;\n    &lt;th&gt;Num. Regions&lt;/th&gt;\n&lt;/tr&gt;\n");<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    // 83, 1<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    <a name="line.270"></a>
+<span class="sourceLineNo">271</span>    int totalRegions = 0;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    int totalRequests = 0;<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    int inconsistentNodeNum = 0;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    String masterVersion = VersionInfo.getVersion();<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    for (ServerName serverName: serverNames) {<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>    ServerLoad sl = master.getServerManager().getLoad(serverName);<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    String version = master.getRegionServerVersion(serverName);<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    if (!masterVersion.equals(version)) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>        inconsistentNodeNum ++;<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    }<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    <a name="line.282"></a>
+<span class="sourceLineNo">283</span>    double requestsPerSecond = 0.0;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    int numRegionsOnline = 0;<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>    if (sl != null) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>        requestsPerSecond = sl.getRequestsPerSecond();<a name="line.287"></a>
+<span class="sourceLineNo">288</span>        numRegionsOnline = sl.getNumberOfRegions();<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        totalRegions += sl.getNumberOfRegions();<a name="line.289"></a>
+<span class="sourceLineNo">290</span>        // Is this correct?  Adding a rate to a measure.<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        totalRequests += sl.getNumberOfRequests();<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    }<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    long startcode = serverName.getStartcode();<a name="line.293"></a>
+<span class="sourceLineNo">294</span><a name="line.294"></a>
+<span class="sourceLineNo">295</span>    // 108, 1<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    jamonWriter.write("&lt;tr&gt;\n    &lt;td&gt;");<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    // 109, 9<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      // 109, 9<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      __jamon_innerUnit__serverNameLink(jamonWriter, serverName, sl);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    }<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    // 109, 70<a name="line.302"></a>
 <span class="sourceLineNo">303</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    // 111, 9<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(version), jamonWriter);<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    // 111, 22<a name="line.306"></a>
+<span class="sourceLineNo">304</span>    // 110, 9<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(new Date(startcode)), jamonWriter);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    // 110, 34<a name="line.306"></a>
 <span class="sourceLineNo">307</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    // 112, 9<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%.0f", requestsPerSecond)), jamonWriter);<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    // 112, 55<a name="line.310"></a>
+<span class="sourceLineNo">308</span>    // 111, 9<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(version), jamonWriter);<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    // 111, 22<a name="line.310"></a>
 <span class="sourceLineNo">311</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    // 113, 9<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(numRegionsOnline), jamonWriter);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    // 113, 31<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n");<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    // 115, 1<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    <a name="line.317"></a>
-<span class="sourceLineNo">318</span>}<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>    // 118, 1<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    jamonWriter.write("&lt;tr&gt;&lt;td&gt;Total:");<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    // 118, 15<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(servers.size()), jamonWriter);<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    // 118, 35<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;&lt;/td&gt;\n");<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    // 120, 1<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    if (inconsistentNodeNum &gt; 0)<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      // 120, 31<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      jamonWriter.write("\n  &lt;td style=\"color:red;\"&gt;");<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      // 121, 26<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(inconsistentNodeNum), jamonWriter);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      // 121, 51<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      jamonWriter.write(" nodes with inconsistent version&lt;/td&gt;\n");<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    // 122, 1<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    else<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      // 122, 8<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      jamonWriter.write("\n   &lt;td&gt;&lt;/td&gt;\n");<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    }<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    // 124, 7<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    jamonWriter.write("\n&lt;td&gt;");<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    // 125, 5<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(totalRequests), jamonWriter);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    // 125, 24<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    // 126, 5<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(totalRegions), jamonWriter);<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // 126, 23<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n&lt;/table&gt;\n");<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  <a name="line.353"></a>
-<span class="sourceLineNo">354</span>  <a name="line.354"></a>
-<span class="sourceLineNo">355</span>  // 243, 1<a name="line.355"></a>
-<span class="sourceLineNo">356</span>  private void __jamon_innerUnit__compactionStats(final java.io.Writer jamonWriter, final ServerName[] serverNames)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    throws java.io.IOException<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    // 247, 1<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;th&gt;ServerName&lt;/th&gt;\n    &lt;th&gt;Num. Compacting KVs&lt;/th&gt;\n    &lt;th&gt;Num. Compacted KVs&lt;/th&gt;\n    &lt;th&gt;Remaining KVs&lt;/th&gt;\n    &lt;th&gt;Compaction Progress&lt;/th&gt;\n&lt;/tr&gt;\n");<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    // 255, 1<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    <a name="line.362"></a>
-<span class="sourceLineNo">363</span>for (ServerName serverName: serverNames) {<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>ServerLoad sl = master.getServerManager().getLoad(serverName);<a name="line.365"></a>
-<span class="sourceLineNo">366</span>if (sl != null) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>String percentDone = "";<a name="line.367"></a>
-<span class="sourceLineNo">368</span>if  (sl.getTotalCompactingKVs() &gt; 0) {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>     percentDone = String.format("%.2f", 100 *<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        ((float) sl.getCurrentCompactedKVs() / sl.getTotalCompactingKVs())) + "%";<a name="line.370"></a>
-<span class="sourceLineNo">371</span>}<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // 266, 1<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    jamonWriter.write("&lt;tr&gt;\n&lt;td&gt;");<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    // 267, 5<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      // 267, 5<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      __jamon_innerUnit__serverNameLink(jamonWriter, serverName, sl);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    }<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // 267, 66<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // 268, 5<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getTotalCompactingKVs()), jamonWriter);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    // 268, 37<a name="line.384"></a>
+<span class="sourceLineNo">312</span>    // 112, 9<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%.0f", requestsPerSecond)), jamonWriter);<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    // 112, 55<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    jamonWriter.write("&lt;/td&gt;\n    &lt;td&gt;");<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    // 113, 9<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(numRegionsOnline), jamonWriter);<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    // 113, 31<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n");<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    // 115, 1<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    <a name="line.321"></a>
+<span class="sourceLineNo">322</span>}<a name="line.322"></a>
+<span class="sourceLineNo">323</span><a name="line.323"></a>
+<span class="sourceLineNo">324</span>    // 118, 1<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    jamonWriter.write("&lt;tr&gt;&lt;td&gt;Total:");<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    // 118, 15<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(servers.size()), jamonWriter);<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    // 118, 35<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;&lt;/td&gt;\n");<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    // 120, 1<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    if (inconsistentNodeNum &gt; 0)<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      // 120, 31<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      jamonWriter.write("\n  &lt;td style=\"color:red;\"&gt;");<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      // 121, 26<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(inconsistentNodeNum), jamonWriter);<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      // 121, 51<a name="line.337"></a>
+<span class="sourceLineNo">338</span>      jamonWriter.write(" nodes with inconsistent version&lt;/td&gt;\n");<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    }<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    // 122, 1<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    else<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      // 122, 8<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      jamonWriter.write("\n   &lt;td&gt;&lt;/td&gt;\n");<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    // 124, 7<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    jamonWriter.write("\n&lt;td&gt;");<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    // 125, 5<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(totalRequests), jamonWriter);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    // 125, 24<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    // 126, 5<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(totalRegions), jamonWriter);<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    // 126, 23<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n&lt;/table&gt;\n");<a name="line.355"></a>
+<span class="sourceLineNo">356</span>  }<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  <a name="line.357"></a>
+<span class="sourceLineNo">358</span>  <a name="line.358"></a>
+<span class="sourceLineNo">359</span>  // 245, 1<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  private void __jamon_innerUnit__compactionStats(final java.io.Writer jamonWriter, final ServerName[] serverNames)<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    throws java.io.IOException<a name="line.361"></a>
+<span class="sourceLineNo">362</span>  {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    // 249, 1<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;th&gt;ServerName&lt;/th&gt;\n    &lt;th&gt;Num. Compacting KVs&lt;/th&gt;\n    &lt;th&gt;Num. Compacted KVs&lt;/th&gt;\n    &lt;th&gt;Remaining KVs&lt;/th&gt;\n    &lt;th&gt;Compaction Progress&lt;/th&gt;\n&lt;/tr&gt;\n");<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    // 257, 1<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    <a name="line.366"></a>
+<span class="sourceLineNo">367</span>for (ServerName serverName: serverNames) {<a name="line.367"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span>ServerLoad sl = master.getServerManager().getLoad(serverName);<a name="line.369"></a>
+<span class="sourceLineNo">370</span>if (sl != null) {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>String percentDone = "";<a name="line.371"></a>
+<span class="sourceLineNo">372</span>if  (sl.getTotalCompactingKVs() &gt; 0) {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>     percentDone = String.format("%.2f", 100 *<a name="line.373"></a>
+<span class="sourceLineNo">374</span>        ((float) sl.getCurrentCompactedKVs() / sl.getTotalCompactingKVs())) + "%";<a name="line.374"></a>
+<span class="sourceLineNo">375</span>}<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span>    // 268, 1<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    jamonWriter.write("&lt;tr&gt;\n&lt;td&gt;");<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    // 269, 5<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      // 269, 5<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      __jamon_innerUnit__serverNameLink(jamonWriter, serverName, sl);<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    // 269, 66<a name="line.384"></a>
 <span class="sourceLineNo">385</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    // 269, 5<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getCurrentCompactedKVs()), jamonWriter);<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    // 269, 38<a name="line.388"></a>
+<span class="sourceLineNo">386</span>    // 270, 5<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getTotalCompactingKVs()), jamonWriter);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    // 270, 37<a name="line.388"></a>
 <span class="sourceLineNo">389</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    // 270, 5<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getTotalCompactingKVs() - sl.getCurrentCompactedKVs()), jamonWriter);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    // 270, 67<a name="line.392"></a>
+<span class="sourceLineNo">390</span>    // 271, 5<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getCurrentCompactedKVs()), jamonWriter);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    // 271, 38<a name="line.392"></a>
 <span class="sourceLineNo">393</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // 271, 5<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(percentDone), jamonWriter);<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    // 271, 22<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n");<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    // 273, 1<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    <a name="line.399"></a>
-<span class="sourceLineNo">400</span>        }  else {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        <a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // 276, 1<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      // 276, 1<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      __jamon_innerUnit__emptyStat(jamonWriter, serverName);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    }<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    // 276, 40<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    jamonWriter.write("\n");<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    // 277, 1<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    <a name="line.410"></a>
-<span class="sourceLineNo">411</span>    }<a name="line.411"></a>
-<span class="sourceLineNo">412</span>}<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>    // 281, 1<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    jamonWriter.write("&lt;/table&gt;\n");<a name="line.415"></a>
-<span class="sourceLineNo">416</span>  }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>  <a name="line.417"></a>
-<span class="sourceLineNo">418</span>  <a name="line.418"></a>
-<span class="sourceLineNo">419</span>  // 203, 1<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  private void __jamon_innerUnit__storeStats(final java.io.Writer jamonWriter, final ServerName[] serverNames)<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    throws java.io.IOException<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    // 207, 1<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;th&gt;ServerName&lt;/th&gt;\n    &lt;th&gt;Num. Stores&lt;/th&gt;\n    &lt;th&gt;Num. Storefiles&lt;/th&gt;\n    &lt;th&gt;Storefile Size Uncompressed&lt;/th&gt;\n    &lt;th&gt;Storefile Size&lt;/th&gt;\n    &lt;th&gt;Index Size&lt;/th&gt;\n    &lt;th&gt;Bloom Size&lt;/th&gt;\n&lt;/tr&gt;\n");<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    // 217, 1<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    <a name="line.426"></a>
-<span class="sourceLineNo">427</span>for (ServerName serverName: serverNames) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span><a name="line.428"></a>
-<span class="sourceLineNo">429</span>ServerLoad sl = master.getServerManager().getLoad(serverName);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>if (sl != null) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>    // 223, 1<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    jamonWriter.write("&lt;tr&gt;\n&lt;td&gt;");<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    // 224, 5<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      // 224, 5<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      __jamon_innerUnit__serverNameLink(jamonWriter, serverName, sl);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    // 224, 66<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    // 225, 5<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getStores()), jamonWriter);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    // 225, 25<a name="line.443"></a>
+<span class="sourceLineNo">394</span>    // 272, 5<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getTotalCompactingKVs() - sl.getCurrentCompactedKVs()), jamonWriter);<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    // 272, 67<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    // 273, 5<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(percentDone), jamonWriter);<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    // 273, 22<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    jamonWriter.write("&lt;/td&gt;\n&lt;/tr&gt;\n");<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    // 275, 1<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    <a name="line.403"></a>
+<span class="sourceLineNo">404</span>        }  else {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>        <a name="line.405"></a>
+<span class="sourceLineNo">406</span>    // 278, 1<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    {<a name="line.407"></a>
+<span class="sourceLineNo">408</span>      // 278, 1<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      __jamon_innerUnit__emptyStat(jamonWriter, serverName);<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    }<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    // 278, 40<a name="line.411"></a>
+<span class="sourceLineNo">412</span>    jamonWriter.write("\n");<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    // 279, 1<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    <a name="line.414"></a>
+<span class="sourceLineNo">415</span>    }<a name="line.415"></a>
+<span class="sourceLineNo">416</span>}<a name="line.416"></a>
+<span class="sourceLineNo">417</span><a name="line.417"></a>
+<span class="sourceLineNo">418</span>    // 283, 1<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    jamonWriter.write("&lt;/table&gt;\n");<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
+<span class="sourceLineNo">421</span>  <a name="line.421"></a>
+<span class="sourceLineNo">422</span>  <a name="line.422"></a>
+<span class="sourceLineNo">423</span>  // 205, 1<a name="line.423"></a>
+<span class="sourceLineNo">424</span>  private void __jamon_innerUnit__storeStats(final java.io.Writer jamonWriter, final ServerName[] serverNames)<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    throws java.io.IOException<a name="line.425"></a>
+<span class="sourceLineNo">426</span>  {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>    // 209, 1<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n&lt;tr&gt;\n    &lt;th&gt;ServerName&lt;/th&gt;\n    &lt;th&gt;Num. Stores&lt;/th&gt;\n    &lt;th&gt;Num. Storefiles&lt;/th&gt;\n    &lt;th&gt;Storefile Size Uncompressed&lt;/th&gt;\n    &lt;th&gt;Storefile Size&lt;/th&gt;\n    &lt;th&gt;Index Size&lt;/th&gt;\n    &lt;th&gt;Bloom Size&lt;/th&gt;\n&lt;/tr&gt;\n");<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    // 219, 1<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    <a name="line.430"></a>
+<span class="sourceLineNo">431</span>for (ServerName serverName: serverNames) {<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span>ServerLoad sl = master.getServerManager().getLoad(serverName);<a name="line.433"></a>
+<span class="sourceLineNo">434</span>if (sl != null) {<a name="line.434"></a>
+<span class="sourceLineNo">435</span><a name="line.435"></a>
+<span class="sourceLineNo">436</span>    // 225, 1<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    jamonWriter.write("&lt;tr&gt;\n&lt;td&gt;");<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    // 226, 5<a name="line.438"></a>
+<span class="sourceLineNo">439</span>    {<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      // 226, 5<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      __jamon_innerUnit__serverNameLink(jamonWriter, serverName, sl);<a name="line.441"></a>
+<span class="sourceLineNo">442</span>    }<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    // 226, 66<a name="line.443"></a>
 <span class="sourceLineNo">444</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    // 226, 5<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getStorefiles()), jamonWriter);<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    // 226, 29<a name="line.447"></a>
+<span class="sourceLineNo">445</span>    // 227, 5<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getStores()), jamonWriter);<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    // 227, 25<a name="line.447"></a>
 <span class="sourceLineNo">448</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    // 227, 5<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getStoreUncompressedSizeMB()), jamonWriter);<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    // 227, 42<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    jamonWriter.write("m&lt;/td&gt;\n&lt;td&gt;");<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    // 228, 5<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getStorefileSizeInMB()), jamonWriter);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    // 228, 36<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    jamonWriter.write("mb&lt;/td&gt;\n&lt;td&gt;");<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    // 229, 5<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getTotalStaticIndexSizeKB()), jamonWriter);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    // 229, 41<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    jamonWriter.write("k&lt;/td&gt;\n&lt;td&gt;");<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    // 230, 5<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getTotalStaticBloomSizeKB()), jamonWriter);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    // 230, 41<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    jamonWriter.write("k&lt;/td&gt;\n&lt;/tr&gt;\n");<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    // 232, 1<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    <a name="line.466"></a>
-<span class="sourceLineNo">467</span>        }  else {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        <a name="line.468"></a>
-<span class="sourceLineNo">469</span>    // 235, 1<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      // 235, 1<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      __jamon_innerUnit__emptyStat(jamonWriter, serverName);<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    }<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    // 235, 40<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    jamonWriter.write("\n");<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    // 236, 1<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    <a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>}<a name="line.479"></a>
-<span class="sourceLineNo">480</span><a name="line.480"></a>
-<span class="sourceLineNo">481</span>    // 240, 1<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    jamonWriter.write("&lt;/table&gt;\n");<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  <a name="line.484"></a>
-<span class="sourceLineNo">485</span>  <a name="line.485"></a>
-<span class="sourceLineNo">486</span>}<a name="line.486"></a>
+<span class="sourceLineNo">449</span>    // 228, 5<a name="line.449"></a>
+<span class="sourceLineNo">450</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getStorefiles()), jamonWriter);<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    // 228, 29<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    jamonWriter.write("&lt;/td&gt;\n&lt;td&gt;");<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    // 229, 5<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getStoreUncompressedSizeMB()), jamonWriter);<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    // 229, 42<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    jamonWriter.write("m&lt;/td&gt;\n&lt;td&gt;");<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    // 230, 5<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getStorefileSizeInMB()), jamonWriter);<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    // 230, 36<a name="line.459"></a>
+<span class="sourceLineNo">460</span>    jamonWriter.write("mb&lt;/td&gt;\n&lt;td&gt;");<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    // 231, 5<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getTotalStaticIndexSizeKB()), jamonWriter);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    // 231, 41<a name="line.463"></a>
+<span class="sourceLineNo">464</span>    jamonWriter.write("k&lt;/td&gt;\n&lt;td&gt;");<a name="line.464"></a>
+<span class="sourceLineNo">465</span>    // 232, 5<a name="line.465"></a>
+<span class="sourceLineNo">466</span>    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getTotalStaticBloomSizeKB()), jamonWriter);<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    // 232, 41<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    jamonWriter.write("k&lt;/td&gt;\n&lt;/tr&gt;\n");<a name="line.468"></a>
+<span class="sourceLineNo">469</span>    // 234, 1<a name="line.469"></a>
+<span class="sourceLineNo">470</span>    <a name="line.470"></a>
+<span class="sourceLineNo">471</span>        }  else {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>        <a name="line.472"></a>
+<span class="sourceLineNo">473</span>    // 237, 1<a name="line.473"></a>
+<span class="sourceLineNo">474</span>    {<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      // 237, 1<a name="line.475"></a>
+<span class="sourceLineNo">476</span>      __jamon_innerUnit__emptyStat(jamonWriter, serverName);<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    }<a name="line.477"></a>
+<span class="sourceLineNo">478</span>    // 237, 40<a name="line.478"></a>
+<span class="sourceLineNo">479</span>    jamonWriter.write("\n");<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    // 238, 1<a name="line.480"></a>
+<span class="sourceLineNo">481</span>    <a name="line.481"></a>
+<span class="sourceLineNo">482</span>    }<a name="line.482"></a>
+<span class="sourceLineNo">483</span>}<a name="line.483"></a>
+<span class="sourceLineNo">484</span><a name="line.484"></a>
+<span class="sourceLineNo">485</span>    // 242, 1<a name="line.485"></a>
+<span class="sourceLineNo">486</span>    jamonWriter.write("&lt;/table&gt;\n");<a name="line.486"></a>
+<span class="sourceLineNo">487</span>  }<a name="line.487"></a>
+<span class="sourceLineNo">488</span>  <a name="line.488"></a>
+<span class="sourceLineNo">489</span>  <a name="line.489"></a>
+<span class="sourceLineNo">490</span>}<a name="line.490"></a>
 
 
 

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


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
index ddb73b4..565d97b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
@@ -269,243 +269,249 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount</a></strong>()</code>
+<div class="block">Get the number of filtered read requests to regions hosted on this region server.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getFlushedCellsCount()">getFlushedCellsCount</a></strong>()</code>
 <div class="block">Get the number of cells flushed to disk.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getFlushedCellsSize()">getFlushedCellsSize</a></strong>()</code>
 <div class="block">Get the total amount of data flushed to disk, in bytes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getFlushQueueSize()">getFlushQueueSize</a></strong>()</code>
 <div class="block">Get the size of the flush queue.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getHedgedReadOps()">getHedgedReadOps</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getHedgedReadWins()">getHedgedReadWins</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getLargeCompactionQueueSize()">getLargeCompactionQueueSize</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMajorCompactedCellsCount()">getMajorCompactedCellsCount</a></strong>()</code>
 <div class="block">Get the number of cells processed during major compactions.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMajorCompactedCellsSize()">getMajorCompactedCellsSize</a></strong>()</code>
 <div class="block">Get the total amount of data processed during major compactions, in bytes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMemstoreSize()">getMemstoreSize</a></strong>()</code>
 <div class="block">Get the size of the memstore on this region server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFileCacheAccessCount()">getMobFileCacheAccessCount</a></strong>()</code>
 <div class="block">Gets the count of accesses to the mob file cache.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFileCacheCount()">getMobFileCacheCount</a></strong>()</code>
 <div class="block">Gets the count of cached mob files.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFileCacheEvictedCount()">getMobFileCacheEvictedCount</a></strong>()</code>
 <div class="block">Gets the number of items evicted from the mob file cache.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFileCacheHitPercent()">getMobFileCacheHitPercent</a></strong>()</code>
 <div class="block">Gets the hit percent to the mob file cache.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFileCacheMissCount()">getMobFileCacheMissCount</a></strong>()</code>
 <div class="block">Gets the count of misses to the mob file cache.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFlushCount()">getMobFlushCount</a></strong>()</code>
 <div class="block">Gets the number of the flushes in mob-enabled stores.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFlushedCellsCount()">getMobFlushedCellsCount</a></strong>()</code>
 <div class="block">Gets the number of mob cells flushed to disk.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFlushedCellsSize()">getMobFlushedCellsSize</a></strong>()</code>
 <div class="block">Gets the total amount of mob cells flushed to disk, in bytes.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobScanCellsCount()">getMobScanCellsCount</a></strong>()</code>
 <div class="block">Gets the number of scanned mob cells.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobScanCellsSize()">getMobScanCellsSize</a></strong>()</code>
 <div class="block">Gets the total amount of scanned mob cells, in bytes.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumMutationsWithoutWAL()">getNumMutationsWithoutWAL</a></strong>()</code>
 <div class="block">Number of mutations received with WAL explicitly turned off.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumOnlineRegions()">getNumOnlineRegions</a></strong>()</code>
 <div class="block">The number of online regions</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumStoreFiles()">getNumStoreFiles</a></strong>()</code>
 <div class="block">Get the number of store files hosted on this region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumStores()">getNumStores</a></strong>()</code>
 <div class="block">Get the number of stores hosted on this region server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumWALFiles()">getNumWALFiles</a></strong>()</code>
 <div class="block">Get the number of WAL files of this region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumWALSlowAppend()">getNumWALSlowAppend</a></strong>()</code>
 <div class="block">Get the number of WAL files with slow appends for this region server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getPercentFileLocal()">getPercentFileLocal</a></strong>()</code>
 <div class="block">Get the percent of HFiles' that are local.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getPercentFileLocalSecondaryRegions()">getPercentFileLocalSecondaryRegions</a></strong>()</code>
 <div class="block">Get the percent of HFiles' that are local for secondary region replicas.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getReadRequestsCount()">getReadRequestsCount</a></strong>()</code>
 <div class="block">Get the number of read requests to regions hosted on this region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRequestsPerSecond()">getRequestsPerSecond</a></strong>()</code>
 <div class="block">Get the number of requests per second.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getServerName()">getServerName</a></strong>()</code>
 <div class="block">Get ServerName</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getSmallCompactionQueueSize()">getSmallCompactionQueueSize</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getSplitQueueSize()">getSplitQueueSize</a></strong>()</code>
 <div class="block">Get the size of the split queue</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getStartCode()">getStartCode</a></strong>()</code>
 <div class="block">Get HRegionServer start time</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getStoreFileIndexSize()">getStoreFileIndexSize</a></strong>()</code>
 <div class="block">Get the Size (in bytes) of indexes in storefiles on disk.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getStoreFileSize()">getStoreFileSize</a></strong>()</code>
 <div class="block">Get the total size of the store files this region server is serving from.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getTotalRequestCount()">getTotalRequestCount</a></strong>()</code>
 <div class="block">Get the total number of requests per second.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getTotalStaticBloomSize()">getTotalStaticBloomSize</a></strong>()</code>
 <div class="block">Get the size (in bytes) of the static bloom filters.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getTotalStaticIndexSize()">getTotalStaticIndexSize</a></strong>()</code>
 <div class="block">Get the size (in bytes) of of the static indexes including the roots.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getUpdatesBlockedTime()">getUpdatesBlockedTime</a></strong>()</code>
 <div class="block">Get the amount of time that updates were blocked.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getWALFileSize()">getWALFileSize</a></strong>()</code>
 <div class="block">Get the size of WAL files of this region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getWriteRequestsCount()">getWriteRequestsCount</a></strong>()</code>
 <div class="block">Get the number of write requests to regions hosted on this region server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getZookeeperQuorum()">getZookeeperQuorum</a></strong>()</code>
 <div class="block">Get the Zookeeper Quorum Info</div>
@@ -690,13 +696,23 @@
 <div class="block">Get the number of read requests to regions hosted on this region server.</div>
 </li>
 </ul>
+<a name="getFilteredReadRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFilteredReadRequestsCount</h4>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.118">getFilteredReadRequestsCount</a>()</pre>
+<div class="block">Get the number of filtered read requests to regions hosted on this region server.</div>
+</li>
+</ul>
 <a name="getWriteRequestsCount()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteRequestsCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.118">getWriteRequestsCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.123">getWriteRequestsCount</a>()</pre>
 <div class="block">Get the number of write requests to regions hosted on this region server.</div>
 </li>
 </ul>
@@ -706,7 +722,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getCheckAndMutateChecksFailed</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.123">getCheckAndMutateChecksFailed</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.128">getCheckAndMutateChecksFailed</a>()</pre>
 <div class="block">Get the number of CAS operations that failed.</div>
 </li>
 </ul>
@@ -716,7 +732,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getCheckAndMutateChecksPassed</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.128">getCheckAndMutateChecksPassed</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.133">getCheckAndMutateChecksPassed</a>()</pre>
 <div class="block">Get the number of CAS operations that passed.</div>
 </li>
 </ul>
@@ -726,7 +742,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFileIndexSize</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.133">getStoreFileIndexSize</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.138">getStoreFileIndexSize</a>()</pre>
 <div class="block">Get the Size (in bytes) of indexes in storefiles on disk.</div>
 </li>
 </ul>
@@ -736,7 +752,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalStaticIndexSize</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.138">getTotalStaticIndexSize</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.143">getTotalStaticIndexSize</a>()</pre>
 <div class="block">Get the size (in bytes) of of the static indexes including the roots.</div>
 </li>
 </ul>
@@ -746,7 +762,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalStaticBloomSize</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.143">getTotalStaticBloomSize</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.148">getTotalStaticBloomSize</a>()</pre>
 <div class="block">Get the size (in bytes) of the static bloom filters.</div>
 </li>
 </ul>
@@ -756,7 +772,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumMutationsWithoutWAL</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.148">getNumMutationsWithoutWAL</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.153">getNumMutationsWithoutWAL</a>()</pre>
 <div class="block">Number of mutations received with WAL explicitly turned off.</div>
 </li>
 </ul>
@@ -766,7 +782,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getDataInMemoryWithoutWAL</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.154">getDataInMemoryWithoutWAL</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.159">getDataInMemoryWithoutWAL</a>()</pre>
 <div class="block">Ammount of data in the memstore but not in the WAL because mutations explicitly had their
  WAL turned off.</div>
 </li>
@@ -777,7 +793,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getPercentFileLocal</h4>
-<pre>double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.159">getPercentFileLocal</a>()</pre>
+<pre>double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.164">getPercentFileLocal</a>()</pre>
 <div class="block">Get the percent of HFiles' that are local.</div>
 </li>
 </ul>
@@ -787,7 +803,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getPercentFileLocalSecondaryRegions</h4>
-<pre>double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.164">getPercentFileLocalSecondaryRegions</a>()</pre>
+<pre>double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.169">getPercentFileLocalSecondaryRegions</a>()</pre>
 <div class="block">Get the percent of HFiles' that are local for secondary region replicas.</div>
 </li>
 </ul>
@@ -797,7 +813,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitQueueSize</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.169">getSplitQueueSize</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.174">getSplitQueueSize</a>()</pre>
 <div class="block">Get the size of the split queue</div>
 </li>
 </ul>
@@ -807,7 +823,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionQueueSize</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.174">getCompactionQueueSize</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.179">getCompactionQueueSize</a>()</pre>
 <div class="block">Get the size of the compaction queue</div>
 </li>
 </ul>
@@ -817,7 +833,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getSmallCompactionQueueSize</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.176">getSmallCompactionQueueSize</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.181">getSmallCompactionQueueSize</a>()</pre>
 </li>
 </ul>
 <a name="getLargeCompactionQueueSize()">
@@ -826,7 +842,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getLargeCompactionQueueSize</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.178">getLargeCompactionQueueSize</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.183">getLargeCompactionQueueSize</a>()</pre>
 </li>
 </ul>
 <a name="getFlushQueueSize()">
@@ -835,7 +851,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushQueueSize</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.183">getFlushQueueSize</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.188">getFlushQueueSize</a>()</pre>
 <div class="block">Get the size of the flush queue.</div>
 </li>
 </ul>
@@ -845,7 +861,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheFreeSize</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.188">getBlockCacheFreeSize</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.193">getBlockCacheFreeSize</a>()</pre>
 <div class="block">Get the size (in bytes) of the block cache that is free.</div>
 </li>
 </ul>
@@ -855,7 +871,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.193">getBlockCacheCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.198">getBlockCacheCount</a>()</pre>
 <div class="block">Get the number of items in the block cache.</div>
 </li>
 </ul>
@@ -865,7 +881,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheSize</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.198">getBlockCacheSize</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.203">getBlockCacheSize</a>()</pre>
 <div class="block">Get the total size (in bytes) of the block cache.</div>
 </li>
 </ul>
@@ -875,7 +891,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheHitCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.203">getBlockCacheHitCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.208">getBlockCacheHitCount</a>()</pre>
 <div class="block">Get the count of hits to the block cache</div>
 </li>
 </ul>
@@ -885,7 +901,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCachePrimaryHitCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.208">getBlockCachePrimaryHitCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.213">getBlockCachePrimaryHitCount</a>()</pre>
 <div class="block">Get the count of hits to primary replica in the block cache</div>
 </li>
 </ul>
@@ -895,7 +911,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheMissCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.213">getBlockCacheMissCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.218">getBlockCacheMissCount</a>()</pre>
 <div class="block">Get the count of misses to the block cache.</div>
 </li>
 </ul>
@@ -905,7 +921,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCachePrimaryMissCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.218">getBlockCachePrimaryMissCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.223">getBlockCachePrimaryMissCount</a>()</pre>
 <div class="block">Get the count of misses to primary replica in the block cache.</div>
 </li>
 </ul>
@@ -915,7 +931,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheEvictedCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.223">getBlockCacheEvictedCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.228">getBlockCacheEvictedCount</a>()</pre>
 <div class="block">Get the number of items evicted from the block cache.</div>
 </li>
 </ul>
@@ -925,7 +941,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCachePrimaryEvictedCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.228">getBlockCachePrimaryEvictedCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.233">getBlockCachePrimaryEvictedCount</a>()</pre>
 <div class="block">Get the number of items evicted from primary replica in the block cache.</div>
 </li>
 </ul>
@@ -935,7 +951,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheHitPercent</h4>
-<pre>double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.234">getBlockCacheHitPercent</a>()</pre>
+<pre>double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.239">getBlockCacheHitPercent</a>()</pre>
 <div class="block">Get the percent of all requests that hit the block cache.</div>
 </li>
 </ul>
@@ -945,7 +961,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheHitCachingPercent</h4>
-<pre>double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.239">getBlockCacheHitCachingPercent</a>()</pre>
+<pre>double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.244">getBlockCacheHitCachingPercent</a>()</pre>
 <div class="block">Get the percent of requests with the block cache turned on that hit the block cache.</div>
 </li>
 </ul>
@@ -955,7 +971,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCacheFailedInsertions</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.244">getBlockCacheFailedInsertions</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.249">getBlockCacheFailedInsertions</a>()</pre>
 <div class="block">Number of cache insertions that failed.</div>
 </li>
 </ul>
@@ -965,7 +981,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>forceRecompute</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.249">forceRecompute</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.254">forceRecompute</a>()</pre>
 <div class="block">Force a re-computation of the metrics.</div>
 </li>
 </ul>
@@ -975,7 +991,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getUpdatesBlockedTime</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.254">getUpdatesBlockedTime</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.259">getUpdatesBlockedTime</a>()</pre>
 <div class="block">Get the amount of time that updates were blocked.</div>
 </li>
 </ul>
@@ -985,7 +1001,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushedCellsCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.259">getFlushedCellsCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.264">getFlushedCellsCount</a>()</pre>
 <div class="block">Get the number of cells flushed to disk.</div>
 </li>
 </ul>
@@ -995,7 +1011,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactedCellsCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.264">getCompactedCellsCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.269">getCompactedCellsCount</a>()</pre>
 <div class="block">Get the number of cells processed during minor compactions.</div>
 </li>
 </ul>
@@ -1005,7 +1021,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getMajorCompactedCellsCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.269">getMajorCompactedCellsCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.274">getMajorCompactedCellsCount</a>()</pre>
 <div class="block">Get the number of cells processed during major compactions.</div>
 </li>
 </ul>
@@ -1015,7 +1031,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushedCellsSize</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.274">getFlushedCellsSize</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.279">getFlushedCellsSize</a>()</pre>
 <div class="block">Get the total amount of data flushed to disk, in bytes.</div>
 </li>
 </ul>
@@ -1025,7 +1041,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactedCellsSize</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.279">getCompactedCellsSize</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.284">getCompactedCellsSize</a>()</pre>
 <div class="block">Get the total amount of data processed during minor compactions, in bytes.</div>
 </li>
 </ul>
@@ -1035,7 +1051,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getMajorCompactedCellsSize</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.284">getMajorCompactedCellsSize</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.289">getMajorCompactedCellsSize</a>()</pre>
 <div class="block">Get the total amount of data processed during major compactions, in bytes.</div>
 </li>
 </ul>
@@ -1045,7 +1061,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellsCountCompactedToMob</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.289">getCellsCountCompactedToMob</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.294">getCellsCountCompactedToMob</a>()</pre>
 <div class="block">Gets the number of cells moved to mob during compaction.</div>
 </li>
 </ul>
@@ -1055,7 +1071,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellsCountCompactedFromMob</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.294">getCellsCountCompactedFromMob</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.299">getCellsCountCompactedFromMob</a>()</pre>
 <div class="block">Gets the number of cells moved from mob during compaction.</div>
 </li>
 </ul>
@@ -1065,7 +1081,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellsSizeCompactedToMob</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.299">getCellsSizeCompactedToMob</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.304">getCellsSizeCompactedToMob</a>()</pre>
 <div class="block">Gets the total amount of cells moved to mob during compaction, in bytes.</div>
 </li>
 </ul>
@@ -1075,7 +1091,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellsSizeCompactedFromMob</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.304">getCellsSizeCompactedFromMob</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.309">getCellsSizeCompactedFromMob</a>()</pre>
 <div class="block">Gets the total amount of cells moved from mob during compaction, in bytes.</div>
 </li>
 </ul>
@@ -1085,7 +1101,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFlushCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.309">getMobFlushCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.314">getMobFlushCount</a>()</pre>
 <div class="block">Gets the number of the flushes in mob-enabled stores.</div>
 </li>
 </ul>
@@ -1095,7 +1111,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFlushedCellsCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.314">getMobFlushedCellsCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.319">getMobFlushedCellsCount</a>()</pre>
 <div class="block">Gets the number of mob cells flushed to disk.</div>
 </li>
 </ul>
@@ -1105,7 +1121,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFlushedCellsSize</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.319">getMobFlushedCellsSize</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.324">getMobFlushedCellsSize</a>()</pre>
 <div class="block">Gets the total amount of mob cells flushed to disk, in bytes.</div>
 </li>
 </ul>
@@ -1115,7 +1131,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobScanCellsCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.324">getMobScanCellsCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.329">getMobScanCellsCount</a>()</pre>
 <div class="block">Gets the number of scanned mob cells.</div>
 </li>
 </ul>
@@ -1125,7 +1141,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobScanCellsSize</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.329">getMobScanCellsSize</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.334">getMobScanCellsSize</a>()</pre>
 <div class="block">Gets the total amount of scanned mob cells, in bytes.</div>
 </li>
 </ul>
@@ -1135,7 +1151,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFileCacheAccessCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.334">getMobFileCacheAccessCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.339">getMobFileCacheAccessCount</a>()</pre>
 <div class="block">Gets the count of accesses to the mob file cache.</div>
 </li>
 </ul>
@@ -1145,7 +1161,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFileCacheMissCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.339">getMobFileCacheMissCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.344">getMobFileCacheMissCount</a>()</pre>
 <div class="block">Gets the count of misses to the mob file cache.</div>
 </li>
 </ul>
@@ -1155,7 +1171,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFileCacheEvictedCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.344">getMobFileCacheEvictedCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.349">getMobFileCacheEvictedCount</a>()</pre>
 <div class="block">Gets the number of items evicted from the mob file cache.</div>
 </li>
 </ul>
@@ -1165,7 +1181,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFileCacheCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.349">getMobFileCacheCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.354">getMobFileCacheCount</a>()</pre>
 <div class="block">Gets the count of cached mob files.</div>
 </li>
 </ul>
@@ -1175,7 +1191,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFileCacheHitPercent</h4>
-<pre>double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.354">getMobFileCacheHitPercent</a>()</pre>
+<pre>double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.359">getMobFileCacheHitPercent</a>()</pre>
 <div class="block">Gets the hit percent to the mob file cache.</div>
 </li>
 </ul>
@@ -1185,7 +1201,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getHedgedReadOps</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.359">getHedgedReadOps</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.364">getHedgedReadOps</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Count of hedged read operations</dd></dl>
 </li>
 </ul>
@@ -1195,7 +1211,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getHedgedReadWins</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.364">getHedgedReadWins</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.369">getHedgedReadWins</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Count of times a hedged read beat out the primary read.</dd></dl>
 </li>
 </ul>
@@ -1205,7 +1221,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getBlockedRequestsCount</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.369">getBlockedRequestsCount</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.374">getBlockedRequestsCount</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Count of requests blocked because the memstore size is larger than blockingMemStoreSize</dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
index 9c4a586..3316d14 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.573">MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.579">MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></pre>
 <div class="block">This is the runnable that will be executed on the executor every PERIOD number of seconds
@@ -199,7 +199,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>lastRan</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.575">lastRan</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.581">lastRan</a></pre>
 </li>
 </ul>
 <a name="lastRequestCount">
@@ -208,7 +208,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lastRequestCount</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.576">lastRequestCount</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.582">lastRequestCount</a></pre>
 </li>
 </ul>
 </li>
@@ -225,7 +225,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.573">MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.579">MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable</a>()</pre>
 </li>
 </ul>
 </li>
@@ -242,7 +242,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.579">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.585">run</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
index d03724e..658fe8f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
@@ -292,7951 +292,7969 @@
 <span class="sourceLineNo">284</span><a name="line.284"></a>
 <span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter writeRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  // Number of requests blocked by memstore size.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  // Compaction counters<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>  private final WAL wal;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final HRegionFileSystem fs;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  protected final Configuration conf;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  private final Configuration baseConf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final int rowLockWaitDuration;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  // The internal wait duration to acquire a lock before read/update<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // we can release the IPC handler soon enough to improve the<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // availability of the region server. It can be adjusted by<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  final long busyWaitDuration;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>  // If updating multiple rows in one call, wait longer,<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // we can limit the max multiplier.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  final int maxBusyWaitMultiplier;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  final long maxBusyWaitDuration;<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  // negative number indicates infinite timeout<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * The sequence ID that was encountered when this region was opened.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * scan requests to this region. Requests can override it.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  //<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // are equal to or lower than maxSeqId for each store.<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // The following map is populated when opening the region<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>  /** Saved state from replaying prepare flush cache */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  /**<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   */<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private boolean disallowWritesInRecovering = false;<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  private volatile boolean recovering = false;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>  /**<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * region. Writes older than this readPoint, are included in every<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * read operation.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  public long getSmallestReadPoint() {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    long minimumReadPoint;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    synchronized(scannerReadPoints) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          minimumReadPoint = readPoint;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return minimumReadPoint;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  /*<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * Data structure of write state flags used coordinating flushes,<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * compactions and closes.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  static class WriteState {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // Set while a memstore flush is happening.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    volatile boolean flushing = false;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // Set when a flush has been requested.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    volatile boolean flushRequested = false;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // Number of compactions running.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    volatile boolean writesEnabled = true;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // Set if region is read-only<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    volatile boolean readOnly = false;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    volatile boolean readsEnabled = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>    /**<a name="line.405"></a>
-<span class="sourceLineNo">406</span>     * Set flags that make this region read-only.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     *<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     * @param onOff flip value for region r/o setting<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.writesEnabled = !onOff;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.readOnly = onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>    boolean isReadOnly() {<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return this.flushRequested;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      this.readsEnabled = readsEnabled;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  /**<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * if it didn't flush.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public static class FlushResultImpl implements FlushResult {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    final Result result;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final String failureReason;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final long flushSequenceId;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final boolean wroteFlushWalMarker;<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    /**<a name="line.443"></a>
-<span class="sourceLineNo">444</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * null.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     *                        memstores.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     */<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      this(result, flushSequenceId, null, false);<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>     * Convenience constructor to use when we cannot flush.<a name="line.457"></a>
-<span class="sourceLineNo">458</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>     * @param failureReason Reason why we couldn't flush.<a name="line.459"></a>
-<span class="sourceLineNo">460</span>     */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>    /**<a name="line.466"></a>
-<span class="sourceLineNo">467</span>     * Constructor with all the parameters.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @param result Any of the Result.<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>     */<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      boolean wroteFlushMarker) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      this.result = result;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      this.flushSequenceId = flushSequenceId;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      this.failureReason = failureReason;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      this.wroteFlushWalMarker = wroteFlushMarker;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>    /**<a name="line.480"></a>
-<span class="sourceLineNo">481</span>     * Convenience method, the equivalent of checking if result is<a name="line.481"></a>
-<span class="sourceLineNo">482</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>     * @return true if the memstores were flushed, else false.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>     */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public boolean isFlushSucceeded() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.487"></a>
-<span class="sourceLineNo">488</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>    /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<a name="line.493"></a>
-<span class="sourceLineNo">494</span>     */<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    @Override<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    public boolean isCompactionNeeded() {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    }<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    @Override<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    public String toString() {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      return new StringBuilder()<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        .append("flush result:").append(result).append(", ")<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        .append("flush seq id").append(flushSequenceId).toString();<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    @Override<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    public Result getResult() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      return result;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  }<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span>  /** A result object from prepare flush cache stage */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static class PrepareFlushResult {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    final FlushResult result; // indicating a failure result from prepare<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    final TreeMap&lt;byte[], Long&gt; storeFlushableSize;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    final long startTime;<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    final long flushOpSeqId;<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    final long flushedSeqId;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    final long totalFlushableSize;<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    /** Constructs an early exit case */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    PrepareFlushResult(FlushResult result, long flushSeqId) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, 0);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>    /** Constructs a successful prepare flush result */<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    PrepareFlushResult(<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        flushSeqId, flushedSeqId, totalFlushableSize);<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    }<a name="line.539"></a>
-<span class="sourceLineNo">540</span><a name="line.540"></a>
-<span class="sourceLineNo">541</span>    private PrepareFlushResult(<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      FlushResult result,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      this.result = result;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      this.committedFiles = committedFiles;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      this.startTime = startTime;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      this.flushOpSeqId = flushSeqId;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      this.flushedSeqId = flushedSeqId;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      this.totalFlushableSize = totalFlushableSize;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    }<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    public FlushResult getResult() {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      return this.result;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  final WriteState writestate = new WriteState();<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  long memstoreFlushSize;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  final long timestampSlop;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  final long rowProcessorTimeout;<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  private final ConcurrentMap&lt;Store, Long&gt; lastStoreFlushTimeMap =<a name="line.569"></a>
-<span class="sourceLineNo">570</span>      new ConcurrentHashMap&lt;Store, Long&gt;();<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>  final RegionServerServices rsServices;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private RegionServerAccounting rsAccounting;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  private long flushCheckInterval;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.575"></a>
-<span class="sourceLineNo">576</span>  private long flushPerChanges;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  private long blockingMemStoreSize;<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  final long threadWakeFrequency;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  // Used to guard closes<a name="line.579"></a>
-<span class="sourceLineNo">580</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span>  // Stop updates lock<a name="line.582"></a>
-<span class="sourceLineNo">583</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.583"></a>
-<span class="sourceLineNo">584</span>  private boolean splitRequest;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>  private byte[] explicitSplitPoint = null;<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  // Coprocessor host<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.590"></a>
-<span class="sourceLineNo">591</span><a name="line.591"></a>
-<span class="sourceLineNo">592</span>  private HTableDescriptor htableDescriptor = null;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>  private RegionSplitPolicy splitPolicy;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  private FlushPolicy flushPolicy;<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>  private final MetricsRegion metricsRegion;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>  private final Durability durability;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  private final boolean regionStatsEnabled;<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>  /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   *<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * usually the table directory.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * The wal file is a logfile from the previous execution that's<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * the supplied path.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param fs is the filesystem.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @param confParam is global configuration settings.<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @param regionInfo - HRegionInfo that describes the region<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * is new), then read them from the supplied path.<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param htd the table descriptor<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @deprecated Use other constructors.<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  @Deprecated<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  @VisibleForTesting<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      final Configuration confParam, final HRegionInfo regionInfo,<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.627"></a>
-<span class="sourceLineNo">628</span>      wal, confParam, htd, rsServices);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>  }<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>  /**<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   *<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * @param fs is the filesystem.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * The wal file is a logfile from the previous execution that's<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.640"></a>
-<span class="sourceLineNo">641</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   * the supplied path.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * @param confParam is global configuration settings.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @param htd the table descriptor<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    if (htd == null) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      throw new IllegalArgumentException("Need table descriptor");<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    }<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span>    if (confParam instanceof CompoundConfiguration) {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      throw new IllegalArgumentException("Need original base configuration");<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>    this.wal = wal;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    this.fs = fs;<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    this.baseConf = confParam;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.conf = new CompoundConfiguration()<a name="line.662"></a>
-<span class="sourceLineNo">663</span>      .add(confParam)<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      .addStringMap(htd.getConfiguration())<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      .addBytesMap(htd.getValues());<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.670"></a>
-<span class="sourceLineNo">671</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.673"></a>
-<span class="sourceLineNo">674</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.674"></a>
-<span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span>    this.maxWaitForSeqId = conf.getInt(MAX_WAIT_FOR_SEQ_ID_KEY, DEFAULT_MAX_WAIT_FOR_SEQ_ID);<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    this.htableDescriptor = htd;<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.rsServices = rsServices;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    this.threadWakeFrequency = conf.getLong(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    setHTableSpecificConf();<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;RegionScanner, Long&gt;();<a name="line.682"></a>
-<span class="sourceLineNo">683</span><a name="line.683"></a>
-<span class="sourceLineNo">684</span>    this.busyWaitDuration = conf.getLong(<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.688"></a>
-<span class="sourceLineNo">689</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.689"></a>
-<span class="sourceLineNo">690</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    }<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>    /*<a name="line.695"></a>
-<span class="sourceLineNo">696</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.698"></a>
-<span class="sourceLineNo">699</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.699"></a>
-<span class="sourceLineNo">700</span>     */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    this.timestampSlop = conf.getLong(<a name="line.701"></a>
-<span class="sourceLineNo">702</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        HConstants.LATEST_TIMESTAMP);<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>    /**<a name="line.705"></a>
-<span class="sourceLineNo">706</span>     * Timeout for the process time in processRowsWithLocks().<a name="line.706"></a>
-<span class="sourceLineNo">707</span>     * Use -1 to switch off time bound.<a name="line.707"></a>
-<span class="sourceLineNo">708</span>     */<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    this.durability = htd.getDurability() == Durability.USE_DEFAULT<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        ? DEFAULT_DURABILITY<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        : htd.getDurability();<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    if (rsServices != null) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>      Map&lt;String, Region&gt; recoveringRegions = rsServices.getRecoveringRegions();<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      String encodedName = getRegionInfo().getEncodedName();<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      if (recoveringRegions != null &amp;&amp; recoveringRegions.containsKey(encodedName)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        this.recovering = true;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        recoveringRegions.put(encodedName, this);<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      }<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    } else {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.metricsRegionWrapper = null;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      this.metricsRegion = null;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    if (LOG.isDebugEnabled()) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      // Write out region name as string and its encoded name.<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      LOG.debug("Instantiated " + this);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>    }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>    // by default, we allow writes against a region when it's in recovering<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    this.disallowWritesInRecovering =<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        conf.getBoolean(HConstants.DISALLOW_WRITES_IN_RECOVERING,<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          HConstants.DEFAULT_DISALLOW_WRITES_IN_RECOVERING_CONFIG);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    configurationManager = Optional.absent();<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.744"></a>
-<span class="sourceLineNo">745</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          false :<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.747"></a>
-<span class="sourceLineNo">748</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  }<a name="line.749"></a>
-<span class="sourceLineNo">750</span><a name="line.750"></a>
-<span class="sourceLineNo">751</span>  void setHTableSpecificConf() {<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    if (this.htableDescriptor == null) return;<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.753"></a>
-<span class="sourceLineNo">754</span><a name="line.754"></a>
-<span class="sourceLineNo">755</span>    if (flushSize &lt;= 0) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        HTableDescriptor.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    this.memstoreFlushSize = flushSize;<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.760"></a>
-<span class="sourceLineNo">761</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  }<a name="line.763"></a>
-<span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>  /**<a name="line.765"></a>
-<span class="sourceLineNo">766</span>   * Initialize this region.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * You should use createHRegion() or openHRegion()<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * @return What the next sequence (edit) id should be.<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * @throws IOException e<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   */<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  @Deprecated<a name="line.773"></a>
-<span class="sourceLineNo">774</span>  public long initialize() throws IOException {<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    return initialize(null);<a name="line.775"></a>
-<span class="sourceLineNo">776</span>  }<a name="line.776"></a>
-<span class="sourceLineNo">777</span><a name="line.777"></a>
-<span class="sourceLineNo">778</span>  /**<a name="line.778"></a>
-<span class="sourceLineNo">779</span>   * Initialize this region.<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   *<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * @return What the next sequence (edit) id should be.<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * @throws IOException e<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   */<a name="line.784"></a>
-<span class="sourceLineNo">785</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    long nextSeqId = -1;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    try {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.789"></a>
-<span class="sourceLineNo">790</span>      return nextSeqId;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    } finally {<a name="line.791"></a>
-<span class="sourceLineNo">792</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      // At least it will be 0 otherwise.<a name="line.793"></a>
-<span class="sourceLineNo">794</span>      if (nextSeqId == -1) {<a name="line.794"></a>
-<span class="sourceLineNo">795</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.795"></a>
-<span class="sourceLineNo">796</span>          " initialization.");<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      }<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span>  }<a name="line.799"></a>
-<span class="sourceLineNo">800</span><a name="line.800"></a>
-<span class="sourceLineNo">801</span>  private long initializeRegionInternals(final CancelableProgressable reporter,<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      final MonitoredTask status) throws IOException {<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    if (coprocessorHost != null) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      status.setStatus("Running coprocessor pre-open hook");<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      coprocessorHost.preOpen();<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    // Write HRI to a file in case we need to recover hbase:meta<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    status.setStatus("Writing region info on filesystem");<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    fs.checkRegionInfoOnFilesystem();<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    // Initialize all the HStores<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    status.setStatus("Initializing all the Stores");<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    long maxSeqId = initializeStores(reporter, status);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    this.mvcc.advanceTo(maxSeqId);<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    if (ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      // Recover any edits if available.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      maxSeqId = Math.max(maxSeqId,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>        replayRecoveredEditsIfAny(this.fs.getRegionDir(), maxSeqIdInStores, reporter, status));<a name="line.819"></a>
-<span class="sourceLineNo">820</span>      // Make sure mvcc is up to max.<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.mvcc.advanceTo(maxSeqId);<a name="line.821"></a>
-<span class="sourceLineNo">822</span>    }<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    this.lastReplayedOpenRegionSeqId = maxSeqId;<a name="line.823"></a>
-<span class="sourceLineNo">824</span><a name="line.824"></a>
-<span class="sourceLineNo">825</span>    this.writestate.setReadOnly(ServerRegionReplicaUtil.isReadOnly(this));<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    this.writestate.flushRequested = false;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    this.writestate.compacting.set(0);<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span>    if (this.writestate.writesEnabled) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      // Remove temporary data left over from old regions<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      status.setStatus("Cleaning up temporary data from old regions");<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      fs.cleanupTempDir();<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
-<span class="sourceLineNo">834</span><a name="line.834"></a>
-<span class="sourceLineNo">835</span>    if (this.writestate.writesEnabled) {<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      status.setStatus("Cleaning up detritus from prior splits");<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      // Get rid of any splits or merges that were lost in-progress.  Clean out<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      // these directories here on open.  We may be opening a region that was<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      // being split but we crashed in the middle of it all.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>      fs.cleanupAnySplitDetritus();<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      fs.cleanupMergesDir();<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Initialize split policy<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    this.splitPolicy = RegionSplitPolicy.create(this, conf);<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span>    // Initialize flush policy<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    this.flushPolicy = FlushPolicyFactory.create(this, conf);<a name="line.848"></a>
-<span class="sourceLineNo">849</span><a name="line.849"></a>
-<span class="sourceLineNo">850</span>    long lastFlushTime = EnvironmentEdgeManager.currentTime();<a name="line.850"></a>
-<span class="sourceLineNo">851</span>    for (Store store: stores.values()) {<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      this.lastStoreFlushTimeMap.put(store, lastFlushTime);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>    // Use maximum of log sequenceid or that which was found in stores<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    // (particularly if no recovered edits, seqid will be -1).<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    long nextSeqid = maxSeqId;<a name="line.857"></a>
-<span class="sourceLineNo">858</span><a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // In distributedLogReplay mode, we don't know the last change sequence number because region<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // is opened before recovery completes. So we add a safety bumper to avoid new sequence number<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    // overlaps used sequence numbers<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (this.writestate.writesEnabled) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      nextSeqid = WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs<a name="line.863"></a>
-<span class="sourceLineNo">864</span>          .getRegionDir(), nextSeqid, (this.recovering ? (this.flushPerChanges + 10000000) : 1));<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    } else {<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      nextSeqid++;<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>    LOG.info("Onlined " + this.getRegionInfo().getShortNameToLog() +<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      "; next sequenceid=" + nextSeqid);<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    // A region can be reopened if failed a split; reset flags<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    this.closing.set(false);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    this.closed.set(false);<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    if (coprocessorHost != null) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      status.setStatus("Running coprocessor post-open hooks");<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      coprocessorHost.postOpen();<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span>    status.markComplete("Region opened successfully");<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    return nextSeqid;<a name="line.882"></a>
-<span class="sourceLineNo">883</span>  }<a name="line.883"></a>
-<span class="sourceLineNo">884</span><a name="line.884"></a>
-<span class="sourceLineNo">885</span>  /**<a name="line.885"></a>
-<span class="sourceLineNo">886</span>   * Open all Stores.<a name="line.886"></a>
-<span class="sourceLineNo">887</span>   * @param reporter<a name="line.887"></a>
-<span class="sourceLineNo">888</span>   * @param status<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * @return Highest sequenceId found out in a Store.<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * @throws IOException<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   */<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  private long initializeStores(final CancelableProgressable reporter, MonitoredTask status)<a name="line.892"></a>
-<span class="sourceLineNo">893</span>  throws IOException {<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    // Load in all the HStores.<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    long maxSeqId = -1;<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    // initialized to -1 so that we pick up MemstoreTS from column families<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    long maxMemstoreTS = -1;<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    if (!htableDescriptor.getFamilies().isEmpty()) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      // initialize the thread pool for opening stores in parallel.<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      ThreadPoolExecutor storeOpenerThreadPool =<a name="line.902"></a>
-<span class="sourceLineNo">903</span>        getStoreOpenAndCloseThreadPool("StoreOpener-" + this.getRegionInfo().getShortNameToLog());<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      CompletionService&lt;HStore&gt; completionService =<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        new ExecutorCompletionService&lt;HStore&gt;(storeOpenerThreadPool);<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span>      // initialize each store in parallel<a name="line.907"></a>
-<span class="sourceLineNo">908</span>      for (final HColumnDescriptor family : htableDescriptor.getFamilies()) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        status.setStatus("Instantiating store for column family " + family);<a name="line.909"></a>
-<span class="sourceLineNo">910</span>        completionService.submit(new Callable&lt;HStore&gt;() {<a name="line.910"></a>
-<span class="sourceLineNo">911</span>          @Override<a name="line.911"></a>
-<span class="sourceLineNo">912</span>          public HStore call() throws IOException {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>            return instantiateHStore(family);<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>      boolean allStoresOpened = false;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>      try {<a name="line.918"></a>
-<span class="sourceLineNo">919</span>        for (int i = 0; i &lt; htableDescriptor.getFamilies().size(); i++) {<a name="line.919"></a>
-<span class="sourceLineNo">920</span>          Future&lt;HStore&gt; future = completionService.take();<a name="line.920"></a>
-<span class="sourceLineNo">921</span>          HStore store = future.get();<a name="line.921"></a>
-<span class="sourceLineNo">922</span>          this.stores.put(store.getFamily().getName(), store);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>          long storeMaxSequenceId = store.getMaxSequenceId();<a name="line.924"></a>
-<span class="sourceLineNo">925</span>          maxSeqIdInStores.put(store.getColumnFamilyName().getBytes(),<a name="line.925"></a>
-<span class="sourceLineNo">926</span>              storeMaxSequenceId);<a name="line.926"></a>
-<span class="sourceLineNo">927</span>          if (maxSeqId == -1 || storeMaxSequenceId &gt; maxSeqId) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>            maxSeqId = storeMaxSequenceId;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>          }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>          long maxStoreMemstoreTS = store.getMaxMemstoreTS();<a name="line.930"></a>
-<span class="sourceLineNo">931</span>          if (maxStoreMemstoreTS &gt; maxMemstoreTS) {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>            maxMemstoreTS = maxStoreMemstoreTS;<a name="line.932"></a>
-<span class="sourceLineNo">933</span>          }<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        }<a name="line.934"></a>
-<span class="sourceLineNo">935</span>        allStoresOpened = true;<a name="line.935"></a>
-<span class="sourceLineNo">936</span>      } catch (InterruptedException e) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>        throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>      } catch (ExecutionException e) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span>        throw new IOException(e.getCause());<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      } finally {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        storeOpenerThreadPool.shutdownNow();<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        if (!allStoresOpened) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>          // something went wrong, close all opened stores<a name="line.943"></a>
-<span class="sourceLineNo">944</span>          LOG.error("Could not initialize all stores for the region=" + this);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>          for (Store store : this.stores.values()) {<a name="line.945"></a>
-<span class="sourceLineNo">946</span>            try {<a name="line.946"></a>
-<span class="sourceLineNo">947</span>              store.close();<a name="line.947"></a>
-<span class="sourceLineNo">948</span>            } catch (IOException e) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>              LOG.warn(e.getMessage());<a name="line.949"></a>
-<span class="sourceLineNo">950</span>            }<a name="line.950"></a>
-<span class="sourceLineNo">951</span>          }<a name="line.951"></a>
-<span class="sourceLineNo">952</span>        }<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      }<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    return Math.max(maxSeqId, maxMemstoreTS + 1);<a name="line.955"></a>
-<span class="sourceLineNo">956</span>  }<a name="line.956"></a>
-<span class="sourceLineNo">957</span><a name="line.957"></a>
-<span class="sourceLineNo">958</span>  private void initializeWarmup(final CancelableProgressable reporter) throws IOException {<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.959"></a>
-<span class="sourceLineNo">960</span><a name="line.960"></a>
-<span class="sourceLineNo">961</span>    // Initialize all the HStores<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    status.setStatus("Warming up all the Stores");<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    initializeStores(reporter, status);<a name="line.963"></a>
-<span class="sourceLineNo">964</span>  }<a name="line.964"></a>
-<span class="sourceLineNo">965</span><a name="line.965"></a>
-<span class="sourceLineNo">966</span>  /**<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   * @return Map of StoreFiles by column family<a name="line.967"></a>
-<span class="sourceLineNo">968</span>   */<a name="line.968"></a>
-<span class="sourceLineNo">969</span>  private NavigableMap&lt;byte[], List&lt;Path&gt;&gt; getStoreFiles() {<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    NavigableMap&lt;byte[], List&lt;Path&gt;&gt; allStoreFiles =<a name="line.970"></a>
-<span class="sourceLineNo">971</span>      new TreeMap&lt;byte[], List&lt;Path&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    for (Store store: getStores()) {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.973"></a>
-<span class="sourceLineNo">974</span>      if (storeFiles == null) continue;<a name="line.974"></a>
-<span class="sourceLineNo">975</span>      List&lt;Path&gt; storeFileNames = new ArrayList&lt;Path&gt;();<a name="line.975"></a>
-<span class="sourceLineNo">976</span>      for (StoreFile storeFile: storeFiles) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>        storeFileNames.add(storeFile.getPath());<a name="line.977"></a>
-<span class="sourceLineNo">978</span>      }<a name="line.978"></a>
-<span class="sourceLineNo">979</span>      allStoreFiles.put(store.getFamily().getName(), storeFileNames);<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    }<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    return allStoreFiles;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>  }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>  private void writeRegionOpenMarker(WAL wal, long openSeqId) throws IOException {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    RegionEventDescriptor regionOpenDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      RegionEventDescriptor.EventType.REGION_OPEN, getRegionInfo(), openSeqId,<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.988"></a>
-<span class="sourceLineNo">989</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionOpenDesc, mvcc);<a name="line.989"></a>
-<span class="sourceLineNo">990</span>  }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>  private void writeRegionCloseMarker(WAL wal) throws IOException {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    RegionEventDescriptor regionEventDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.994"></a>
-<span class="sourceLineNo">995</span>      RegionEventDescriptor.EventType.REGION_CLOSE, getRegionInfo(), mvcc.getReadPoint(),<a name="line.995"></a>
-<span class="sourceLineNo">996</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionEventDesc, mvcc);<a name="line.997"></a>
-<span class="sourceLineNo">998</span><a name="line.998"></a>
-<span class="sourceLineNo">999</span>    // Store SeqId in HDFS when a region closes<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    // checking region folder exists is due to many tests which delete the table folder while a<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    // table is still online<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    if (this.fs.getFileSystem().exists(this.fs.getRegionDir())) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>      WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs.getRegionDir(),<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>        mvcc.getReadPoint(), 0);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>    }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>  }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>  /**<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>   * @return True if this region has references.<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>   */<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>  public boolean hasReferences() {<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    for (Store store : this.stores.values()) {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      if (store.hasReferences()) return true;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>    return false;<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>  }<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span><a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  @Override<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  public HDFSBlocksDistribution getHDFSBlocksDistribution() {<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      new HDFSBlocksDistribution();<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    synchronized (this.stores) {<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>      for (Store store : this.stores.values()) {<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>        Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>        if (storeFiles == null) continue;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>        for (StoreFile sf : storeFiles) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>          HDFSBlocksDistribution storeFileBlocksDistribution =<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>            sf.getHDFSBlockDistribution();<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>          hdfsBlocksDistribution.add(storeFileBlocksDistribution);<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>    }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>    return hdfsBlocksDistribution;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>  /**<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>   * @param conf configuration<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>   * @param regionInfo encoded name of the region<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   * @throws IOException<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   */<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo) throws IOException {<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    Path tablePath = FSUtils.getTableDir(FSUtils.getRootDir(conf), tableDescriptor.getTableName());<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>    return computeHDFSBlocksDistribution(conf, tableDescriptor, regionInfo, tablePath);<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  }<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span><a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  /**<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>   * @param conf configuration<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * @param regionInfo encoded name of the region<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * @param tablePath the table directory<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>   * @throws IOException<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>   */<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo,  Path tablePath)<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>      throws IOException {<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    HDFSBlocksDistribution hdfsBlocksDistribution = new HDFSBlocksDistribution();<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>    FileSystem fs = tablePath.getFileSystem(conf);<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span><a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    HRegionFileSystem regionFs = new HRegionFileSystem(conf, fs, tablePath, regionInfo);<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    for (HColumnDescriptor family: tableDescriptor.getFamilies()) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      Collection&lt;StoreFileInfo&gt; storeFiles = regionFs.getStoreFiles(family.getNameAsString());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>      if (storeFiles == null) continue;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>      for (StoreFileInfo storeFileInfo : storeFiles) {<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>        try {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>          hdfsBlocksDistribution.add(storeFileInfo.computeHDFSBlocksDistribution(fs));<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        } catch (IOException ioe) {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>          LOG.warn("Error getting hdfs block distribution for " + storeFileInfo);<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>        }<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    return hdfsBlocksDistribution;<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>  /**<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>   * Increase the size of mem store in this region and the size of global mem<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>   * store<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>   * @return the size of memstore in this region<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   */<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>  public long addAndGetGlobalMemstoreSize(long memStoreSize) {<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    if (this.rsAccounting != null) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>      rsAccounting.addAndGetGlobalMemstoreSize(memStoreSize);<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>    }<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    return this.memstoreSize.addAndGet(memStoreSize);<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  }<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span><a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>  @Override<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>  public HRegionInfo getRegionInfo() {<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>    return this.fs.getRegionInfo();<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  }<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>   * @return Instance of {@link RegionServerServices} used by this HRegion.<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * Can be null.<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   */<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>  RegionServerServices getRegionServerServices() {<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    return this.rsServices;<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  }<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span><a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  @Override<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>  public long getReadRequestsCount() {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    return readRequestsCount.get();<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>  }<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span><a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>  @Override<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  public void updateReadRequestsCount(long i) {<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>    readRequestsCount.add(i);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  }<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  @Override<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  public long getWriteRequestsCount() {<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    return writeRequestsCount.get();<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>  @Override<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public void updateWriteRequestsCount(long i) {<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    writeRequestsCount.add(i);<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  }<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span><a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  @Override<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  public long getMemstoreSize() {<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>    return memstoreSize.get();<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  }<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span><a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>  @Override<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  public long getNumMutationsWithoutWAL() {<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>    return numMutationsWithoutWAL.get();<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>  }<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  @Override<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public long getDataInMemoryWithoutWAL() {<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    return dataInMemoryWithoutWAL.get();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span><a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>  @Override<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  public long getBlockedRequestsCount() {<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>    return blockedRequestsCount.get();<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>  }<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span><a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  @Override<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  public long getCheckAndMutateChecksPassed() {<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    return checkAndMutateChecksPassed.get();<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>  @Override<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>  public long getCheckAndMutateChecksFailed() {<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    return checkAndMutateChecksFailed.get();<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>  }<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span><a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  @Override<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>  public MetricsRegion getMetrics() {<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    return metricsRegion;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>  }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span><a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>  @Override<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public boolean isClosed() {<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>    return this.closed.get();<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  }<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span><a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  @Override<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  public boolean isClosing() {<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>    return this.closing.get();<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  }<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>  @Override<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>  public boolean isReadOnly() {<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>    return this.writestate.isReadOnly();<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>  }<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span><a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>  /**<a name="line.1175"></a>
-<span class="sourceLineNo">1176</

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/apidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html b/apidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html
index 1949974..87f3def 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html
@@ -57,281 +57,289 @@
 <span class="sourceLineNo">049</span>  private int memstoreSizeMB = 0;<a name="line.49"></a>
 <span class="sourceLineNo">050</span>  private int storefileIndexSizeMB = 0;<a name="line.50"></a>
 <span class="sourceLineNo">051</span>  private long readRequestsCount = 0;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  private long writeRequestsCount = 0;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private int rootIndexSizeKB = 0;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  private int totalStaticIndexSizeKB = 0;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  private int totalStaticBloomSizeKB = 0;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private long totalCompactingKVs = 0;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  private long currentCompactedKVs = 0;<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public ServerLoad(ClusterStatusProtos.ServerLoad serverLoad) {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    this.serverLoad = serverLoad;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    for (ClusterStatusProtos.RegionLoad rl: serverLoad.getRegionLoadsList()) {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>      stores += rl.getStores();<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      storefiles += rl.getStorefiles();<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      storeUncompressedSizeMB += rl.getStoreUncompressedSizeMB();<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      storefileSizeMB += rl.getStorefileSizeMB();<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      memstoreSizeMB += rl.getMemstoreSizeMB();<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      storefileIndexSizeMB += rl.getStorefileIndexSizeMB();<a name="line.67"></a>
-<span class="sourceLineNo">068</span>      readRequestsCount += rl.getReadRequestsCount();<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      writeRequestsCount += rl.getWriteRequestsCount();<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      rootIndexSizeKB += rl.getRootIndexSizeKB();<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      totalStaticIndexSizeKB += rl.getTotalStaticIndexSizeKB();<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      totalStaticBloomSizeKB += rl.getTotalStaticBloomSizeKB();<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      totalCompactingKVs += rl.getTotalCompactingKVs();<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      currentCompactedKVs += rl.getCurrentCompactedKVs();<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    }<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
+<span class="sourceLineNo">052</span>  private long filteredReadRequestsCount = 0;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  private long writeRequestsCount = 0;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  private int rootIndexSizeKB = 0;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  private int totalStaticIndexSizeKB = 0;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private int totalStaticBloomSizeKB = 0;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private long totalCompactingKVs = 0;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private long currentCompactedKVs = 0;<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public ServerLoad(ClusterStatusProtos.ServerLoad serverLoad) {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    this.serverLoad = serverLoad;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    for (ClusterStatusProtos.RegionLoad rl: serverLoad.getRegionLoadsList()) {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>      stores += rl.getStores();<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      storefiles += rl.getStorefiles();<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      storeUncompressedSizeMB += rl.getStoreUncompressedSizeMB();<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      storefileSizeMB += rl.getStorefileSizeMB();<a name="line.66"></a>
+<span class="sourceLineNo">067</span>      memstoreSizeMB += rl.getMemstoreSizeMB();<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      storefileIndexSizeMB += rl.getStorefileIndexSizeMB();<a name="line.68"></a>
+<span class="sourceLineNo">069</span>      readRequestsCount += rl.getReadRequestsCount();<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      filteredReadRequestsCount += rl.getFilteredReadRequestsCount();<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      writeRequestsCount += rl.getWriteRequestsCount();<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      rootIndexSizeKB += rl.getRootIndexSizeKB();<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      totalStaticIndexSizeKB += rl.getTotalStaticIndexSizeKB();<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      totalStaticBloomSizeKB += rl.getTotalStaticBloomSizeKB();<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      totalCompactingKVs += rl.getTotalCompactingKVs();<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      currentCompactedKVs += rl.getCurrentCompactedKVs();<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    }<a name="line.77"></a>
 <span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  // NOTE: Function name cannot start with "get" because then an OpenDataException is thrown because<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  // HBaseProtos.ServerLoad cannot be converted to an open data type(see HBASE-5967).<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  /* @return the underlying ServerLoad protobuf object */<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  public ClusterStatusProtos.ServerLoad obtainServerLoadPB() {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    return serverLoad;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>  protected ClusterStatusProtos.ServerLoad serverLoad;<a name="line.86"></a>
+<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  // NOTE: Function name cannot start with "get" because then an OpenDataException is thrown because<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  // HBaseProtos.ServerLoad cannot be converted to an open data type(see HBASE-5967).<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  /* @return the underlying ServerLoad protobuf object */<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  public ClusterStatusProtos.ServerLoad obtainServerLoadPB() {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    return serverLoad;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
 <span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  /* @return number of requests  since last report. */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public long getNumberOfRequests() {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    return serverLoad.getNumberOfRequests();<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public boolean hasNumberOfRequests() {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    return serverLoad.hasNumberOfRequests();<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  /* @return total Number of requests from the start of the region server. */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  public long getTotalNumberOfRequests() {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    return serverLoad.getTotalNumberOfRequests();<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public boolean hasTotalNumberOfRequests() {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    return serverLoad.hasTotalNumberOfRequests();<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span>  /* @return the amount of used heap, in MB. */<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  public int getUsedHeapMB() {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    return serverLoad.getUsedHeapMB();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  }<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  public boolean hasUsedHeapMB() {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    return serverLoad.hasUsedHeapMB();<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  }<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>  /* @return the maximum allowable size of the heap, in MB. */<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public int getMaxHeapMB() {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    return serverLoad.getMaxHeapMB();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public boolean hasMaxHeapMB() {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    return serverLoad.hasMaxHeapMB();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>  public int getStores() {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    return stores;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  }<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  public int getStorefiles() {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    return storefiles;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  }<a name="line.126"></a>
-<span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>  public int getStoreUncompressedSizeMB() {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    return storeUncompressedSizeMB;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>  public int getStorefileSizeInMB() {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    return storefileSizeMB;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
-<span class="sourceLineNo">135</span><a name="line.135"></a>
-<span class="sourceLineNo">136</span>  public int getMemstoreSizeInMB() {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    return memstoreSizeMB;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  public int getStorefileIndexSizeInMB() {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    return storefileIndexSizeMB;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public long getReadRequestsCount() {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    return readRequestsCount;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  public long getWriteRequestsCount() {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    return writeRequestsCount;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public int getRootIndexSizeKB() {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    return rootIndexSizeKB;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public int getTotalStaticIndexSizeKB() {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return totalStaticIndexSizeKB;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  public int getTotalStaticBloomSizeKB() {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    return totalStaticBloomSizeKB;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>  public long getTotalCompactingKVs() {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return totalCompactingKVs;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  }<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>  public long getCurrentCompactedKVs() {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    return currentCompactedKVs;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
-<span class="sourceLineNo">171</span><a name="line.171"></a>
-<span class="sourceLineNo">172</span>  /**<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   * @return the number of regions<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   */<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public int getNumberOfRegions() {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    return serverLoad.getRegionLoadsCount();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>  public int getInfoServerPort() {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return serverLoad.getInfoServerPort();<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  /**<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   * Call directly from client such as hbase shell<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   * @return the list of ReplicationLoadSource<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  public List&lt;ReplicationLoadSource&gt; getReplicationLoadSourceList() {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    return ProtobufUtil.toReplicationLoadSourceList(serverLoad.getReplLoadSourceList());<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  }<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  /**<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   * Call directly from client such as hbase shell<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @return ReplicationLoadSink<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   */<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  public ReplicationLoadSink getReplicationLoadSink() {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    if (serverLoad.hasReplLoadSink()) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      return ProtobufUtil.toReplicationLoadSink(serverLoad.getReplLoadSink());<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    } else {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return null;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /**<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   * Originally, this method factored in the effect of requests going to the<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * server as well. However, this does not interact very well with the current<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * region rebalancing code, which only factors number of regions. For the<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * interim, until we can figure out how to make rebalancing use all the info<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * available, we're just going to make load purely the number of regions.<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   *<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * @return load factor for this server<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   */<a name="line.211"></a>
-<span class="sourceLineNo">212</span>  public int getLoad() {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // See above comment<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    // int load = numberOfRequests == 0 ? 1 : numberOfRequests;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // load *= numberOfRegions == 0 ? 1 : numberOfRegions;<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    // return load;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    return getNumberOfRegions();<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  /**<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * @return region load metrics<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public Map&lt;byte[], RegionLoad&gt; getRegionsLoad() {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    Map&lt;byte[], RegionLoad&gt; regionLoads =<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      new TreeMap&lt;byte[], RegionLoad&gt;(Bytes.BYTES_COMPARATOR);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    for (ClusterStatusProtos.RegionLoad rl : serverLoad.getRegionLoadsList()) {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      RegionLoad regionLoad = new RegionLoad(rl);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      regionLoads.put(regionLoad.getName(), regionLoad);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    return regionLoads;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  }<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span>  /**<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   * Return the RegionServer-level coprocessors<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   * @return string array of loaded RegionServer-level coprocessors<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  public String[] getRegionServerCoprocessors() {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    List&lt;Coprocessor&gt; list = obtainServerLoadPB().getCoprocessorsList();<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    String [] ret = new String[list.size()];<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    int i = 0;<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    for (Coprocessor elem : list) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      ret[i++] = elem.getName();<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>    return ret;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  /**<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * Return the RegionServer-level and Region-level coprocessors<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * @return string array of loaded RegionServer-level and<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   *         Region-level coprocessors<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  public String[] getRsCoprocessors() {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    // Need a set to remove duplicates, but since generated Coprocessor class<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    // is not Comparable, make it a Set&lt;String&gt; instead of Set&lt;Coprocessor&gt;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    TreeSet&lt;String&gt; coprocessSet = new TreeSet&lt;String&gt;();<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    for (Coprocessor coprocessor : obtainServerLoadPB().getCoprocessorsList()) {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      coprocessSet.add(coprocessor.getName());<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    return coprocessSet.toArray(new String[coprocessSet.size()]);<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * @return number of requests per second received since the last report<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public double getRequestsPerSecond() {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    return getNumberOfRequests();<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /**<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   * @see java.lang.Object#toString()<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   */<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  @Override<a name="line.273"></a>
-<span class="sourceLineNo">274</span>  public String toString() {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>     StringBuilder sb =<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        Strings.appendKeyValue(new StringBuilder(), "requestsPerSecond",<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          Double.valueOf(getRequestsPerSecond()));<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    Strings.appendKeyValue(sb, "numberOfOnlineRegions", Integer.valueOf(getNumberOfRegions()));<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    sb = Strings.appendKeyValue(sb, "usedHeapMB", Integer.valueOf(this.getUsedHeapMB()));<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    sb = Strings.appendKeyValue(sb, "maxHeapMB", Integer.valueOf(getMaxHeapMB()));<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    sb = Strings.appendKeyValue(sb, "numberOfStores", Integer.valueOf(this.stores));<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    sb = Strings.appendKeyValue(sb, "numberOfStorefiles", Integer.valueOf(this.storefiles));<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    sb =<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        Strings.appendKeyValue(sb, "storefileUncompressedSizeMB",<a name="line.284"></a>
-<span class="sourceLineNo">285</span>          Integer.valueOf(this.storeUncompressedSizeMB));<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    sb = Strings.appendKeyValue(sb, "storefileSizeMB", Integer.valueOf(this.storefileSizeMB));<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    if (this.storeUncompressedSizeMB != 0) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      sb =<a name="line.288"></a>
-<span class="sourceLineNo">289</span>          Strings.appendKeyValue(<a name="line.289"></a>
-<span class="sourceLineNo">290</span>            sb,<a name="line.290"></a>
-<span class="sourceLineNo">291</span>            "compressionRatio",<a name="line.291"></a>
-<span class="sourceLineNo">292</span>            String.format("%.4f", (float) this.storefileSizeMB<a name="line.292"></a>
-<span class="sourceLineNo">293</span>                / (float) this.storeUncompressedSizeMB));<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    sb = Strings.appendKeyValue(sb, "memstoreSizeMB", Integer.valueOf(this.memstoreSizeMB));<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    sb =<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        Strings.appendKeyValue(sb, "storefileIndexSizeMB",<a name="line.297"></a>
-<span class="sourceLineNo">298</span>          Integer.valueOf(this.storefileIndexSizeMB));<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    sb = Strings.appendKeyValue(sb, "readRequestsCount", Long.valueOf(this.readRequestsCount));<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    sb = Strings.appendKeyValue(sb, "writeRequestsCount", Long.valueOf(this.writeRequestsCount));<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    sb = Strings.appendKeyValue(sb, "rootIndexSizeKB", Integer.valueOf(this.rootIndexSizeKB));<a name="line.301"></a>
+<span class="sourceLineNo">088</span>  protected ClusterStatusProtos.ServerLoad serverLoad;<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>  /* @return number of requests  since last report. */<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  public long getNumberOfRequests() {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    return serverLoad.getNumberOfRequests();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  public boolean hasNumberOfRequests() {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    return serverLoad.hasNumberOfRequests();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  /* @return total Number of requests from the start of the region server. */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public long getTotalNumberOfRequests() {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    return serverLoad.getTotalNumberOfRequests();<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  public boolean hasTotalNumberOfRequests() {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    return serverLoad.hasTotalNumberOfRequests();<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  /* @return the amount of used heap, in MB. */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  public int getUsedHeapMB() {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    return serverLoad.getUsedHeapMB();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  }<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  public boolean hasUsedHeapMB() {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    return serverLoad.hasUsedHeapMB();<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  /* @return the maximum allowable size of the heap, in MB. */<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public int getMaxHeapMB() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return serverLoad.getMaxHeapMB();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public boolean hasMaxHeapMB() {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return serverLoad.hasMaxHeapMB();<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  public int getStores() {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    return stores;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>  public int getStorefiles() {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    return storefiles;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  }<a name="line.128"></a>
+<span class="sourceLineNo">129</span><a name="line.129"></a>
+<span class="sourceLineNo">130</span>  public int getStoreUncompressedSizeMB() {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    return storeUncompressedSizeMB;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
+<span class="sourceLineNo">133</span><a name="line.133"></a>
+<span class="sourceLineNo">134</span>  public int getStorefileSizeInMB() {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    return storefileSizeMB;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  }<a name="line.136"></a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  public int getMemstoreSizeInMB() {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    return memstoreSizeMB;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span>  public int getStorefileIndexSizeInMB() {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    return storefileIndexSizeMB;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  }<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>  public long getReadRequestsCount() {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    return readRequestsCount;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public long getFilteredReadRequestsCount() {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return filteredReadRequestsCount;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  public long getWriteRequestsCount() {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    return writeRequestsCount;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>  public int getRootIndexSizeKB() {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    return rootIndexSizeKB;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
+<span class="sourceLineNo">161</span><a name="line.161"></a>
+<span class="sourceLineNo">162</span>  public int getTotalStaticIndexSizeKB() {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return totalStaticIndexSizeKB;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public int getTotalStaticBloomSizeKB() {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    return totalStaticBloomSizeKB;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  }<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>  public long getTotalCompactingKVs() {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    return totalCompactingKVs;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  }<a name="line.172"></a>
+<span class="sourceLineNo">173</span><a name="line.173"></a>
+<span class="sourceLineNo">174</span>  public long getCurrentCompactedKVs() {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    return currentCompactedKVs;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  }<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>  /**<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   * @return the number of regions<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   */<a name="line.180"></a>
+<span class="sourceLineNo">181</span>  public int getNumberOfRegions() {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    return serverLoad.getRegionLoadsCount();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>  public int getInfoServerPort() {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    return serverLoad.getInfoServerPort();<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>  /**<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   * Call directly from client such as hbase shell<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * @return the list of ReplicationLoadSource<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   */<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  public List&lt;ReplicationLoadSource&gt; getReplicationLoadSourceList() {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    return ProtobufUtil.toReplicationLoadSourceList(serverLoad.getReplLoadSourceList());<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  }<a name="line.195"></a>
+<span class="sourceLineNo">196</span><a name="line.196"></a>
+<span class="sourceLineNo">197</span>  /**<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * Call directly from client such as hbase shell<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   * @return ReplicationLoadSink<a name="line.199"></a>
+<span class="sourceLineNo">200</span>   */<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  public ReplicationLoadSink getReplicationLoadSink() {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    if (serverLoad.hasReplLoadSink()) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      return ProtobufUtil.toReplicationLoadSink(serverLoad.getReplLoadSink());<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    } else {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      return null;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span>  /**<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   * Originally, this method factored in the effect of requests going to the<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * server as well. However, this does not interact very well with the current<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * region rebalancing code, which only factors number of regions. For the<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   * interim, until we can figure out how to make rebalancing use all the info<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   * available, we're just going to make load purely the number of regions.<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   *<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * @return load factor for this server<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
+<span class="sourceLineNo">218</span>  public int getLoad() {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    // See above comment<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    // int load = numberOfRequests == 0 ? 1 : numberOfRequests;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    // load *= numberOfRegions == 0 ? 1 : numberOfRegions;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    // return load;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    return getNumberOfRegions();<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>  /**<a name="line.226"></a>
+<span class="sourceLineNo">227</span>   * @return region load metrics<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   */<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  public Map&lt;byte[], RegionLoad&gt; getRegionsLoad() {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    Map&lt;byte[], RegionLoad&gt; regionLoads =<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      new TreeMap&lt;byte[], RegionLoad&gt;(Bytes.BYTES_COMPARATOR);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    for (ClusterStatusProtos.RegionLoad rl : serverLoad.getRegionLoadsList()) {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      RegionLoad regionLoad = new RegionLoad(rl);<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      regionLoads.put(regionLoad.getName(), regionLoad);<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    return regionLoads;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * Return the RegionServer-level coprocessors<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * @return string array of loaded RegionServer-level coprocessors<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  public String[] getRegionServerCoprocessors() {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    List&lt;Coprocessor&gt; list = obtainServerLoadPB().getCoprocessorsList();<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    String [] ret = new String[list.size()];<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    int i = 0;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    for (Coprocessor elem : list) {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      ret[i++] = elem.getName();<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    }<a name="line.249"></a>
+<span class="sourceLineNo">250</span><a name="line.250"></a>
+<span class="sourceLineNo">251</span>    return ret;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  /**<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * Return the RegionServer-level and Region-level coprocessors<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * @return string array of loaded RegionServer-level and<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   *         Region-level coprocessors<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   */<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public String[] getRsCoprocessors() {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    // Need a set to remove duplicates, but since generated Coprocessor class<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    // is not Comparable, make it a Set&lt;String&gt; instead of Set&lt;Coprocessor&gt;<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    TreeSet&lt;String&gt; coprocessSet = new TreeSet&lt;String&gt;();<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    for (Coprocessor coprocessor : obtainServerLoadPB().getCoprocessorsList()) {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      coprocessSet.add(coprocessor.getName());<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    }<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    return coprocessSet.toArray(new String[coprocessSet.size()]);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  }<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>  /**<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * @return number of requests per second received since the last report<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  public double getRequestsPerSecond() {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    return getNumberOfRequests();<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  /**<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   * @see java.lang.Object#toString()<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   */<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  @Override<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  public String toString() {<a name="line.280"></a>
+<span class="sourceLineNo">281</span>     StringBuilder sb =<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        Strings.appendKeyValue(new StringBuilder(), "requestsPerSecond",<a name="line.282"></a>
+<span class="sourceLineNo">283</span>          Double.valueOf(getRequestsPerSecond()));<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    Strings.appendKeyValue(sb, "numberOfOnlineRegions", Integer.valueOf(getNumberOfRegions()));<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    sb = Strings.appendKeyValue(sb, "usedHeapMB", Integer.valueOf(this.getUsedHeapMB()));<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    sb = Strings.appendKeyValue(sb, "maxHeapMB", Integer.valueOf(getMaxHeapMB()));<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    sb = Strings.appendKeyValue(sb, "numberOfStores", Integer.valueOf(this.stores));<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    sb = Strings.appendKeyValue(sb, "numberOfStorefiles", Integer.valueOf(this.storefiles));<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    sb =<a name="line.289"></a>
+<span class="sourceLineNo">290</span>        Strings.appendKeyValue(sb, "storefileUncompressedSizeMB",<a name="line.290"></a>
+<span class="sourceLineNo">291</span>          Integer.valueOf(this.storeUncompressedSizeMB));<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    sb = Strings.appendKeyValue(sb, "storefileSizeMB", Integer.valueOf(this.storefileSizeMB));<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    if (this.storeUncompressedSizeMB != 0) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      sb =<a name="line.294"></a>
+<span class="sourceLineNo">295</span>          Strings.appendKeyValue(<a name="line.295"></a>
+<span class="sourceLineNo">296</span>            sb,<a name="line.296"></a>
+<span class="sourceLineNo">297</span>            "compressionRatio",<a name="line.297"></a>
+<span class="sourceLineNo">298</span>            String.format("%.4f", (float) this.storefileSizeMB<a name="line.298"></a>
+<span class="sourceLineNo">299</span>                / (float) this.storeUncompressedSizeMB));<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    }<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    sb = Strings.appendKeyValue(sb, "memstoreSizeMB", Integer.valueOf(this.memstoreSizeMB));<a name="line.301"></a>
 <span class="sourceLineNo">302</span>    sb =<a name="line.302"></a>
-<span class="sourceLineNo">303</span>        Strings.appendKeyValue(sb, "totalStaticIndexSizeKB",<a name="line.303"></a>
-<span class="sourceLineNo">304</span>          Integer.valueOf(this.totalStaticIndexSizeKB));<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    sb =<a name="line.305"></a>
-<span class="sourceLineNo">306</span>        Strings.appendKeyValue(sb, "totalStaticBloomSizeKB",<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          Integer.valueOf(this.totalStaticBloomSizeKB));<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    sb = Strings.appendKeyValue(sb, "totalCompactingKVs", Long.valueOf(this.totalCompactingKVs));<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    sb = Strings.appendKeyValue(sb, "currentCompactedKVs", Long.valueOf(this.currentCompactedKVs));<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    float compactionProgressPct = Float.NaN;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    if (this.totalCompactingKVs &gt; 0) {<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      compactionProgressPct =<a name="line.312"></a>
-<span class="sourceLineNo">313</span>          Float.valueOf((float) this.currentCompactedKVs / this.totalCompactingKVs);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    sb = Strings.appendKeyValue(sb, "compactionProgressPct", compactionProgressPct);<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    String[] coprocessorStrings = getRsCoprocessors();<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    if (coprocessorStrings != null) {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      sb = Strings.appendKeyValue(sb, "coprocessors", Arrays.toString(coprocessorStrings));<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    return sb.toString();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  }<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  public static final ServerLoad EMPTY_SERVERLOAD =<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    new ServerLoad(ClusterStatusProtos.ServerLoad.newBuilder().build());<a name="line.325"></a>
-<span class="sourceLineNo">326</span>}<a name="line.326"></a>
+<span class="sourceLineNo">303</span>        Strings.appendKeyValue(sb, "storefileIndexSizeMB",<a name="line.303"></a>
+<span class="sourceLineNo">304</span>          Integer.valueOf(this.storefileIndexSizeMB));<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    sb = Strings.appendKeyValue(sb, "readRequestsCount", Long.valueOf(this.readRequestsCount));<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    sb = Strings.appendKeyValue(sb, "filteredReadRequestsCount",<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      Long.valueOf(this.filteredReadRequestsCount));<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    sb = Strings.appendKeyValue(sb, "writeRequestsCount", Long.valueOf(this.writeRequestsCount));<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    sb = Strings.appendKeyValue(sb, "rootIndexSizeKB", Integer.valueOf(this.rootIndexSizeKB));<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    sb =<a name="line.310"></a>
+<span class="sourceLineNo">311</span>        Strings.appendKeyValue(sb, "totalStaticIndexSizeKB",<a name="line.311"></a>
+<span class="sourceLineNo">312</span>          Integer.valueOf(this.totalStaticIndexSizeKB));<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    sb =<a name="line.313"></a>
+<span class="sourceLineNo">314</span>        Strings.appendKeyValue(sb, "totalStaticBloomSizeKB",<a name="line.314"></a>
+<span class="sourceLineNo">315</span>          Integer.valueOf(this.totalStaticBloomSizeKB));<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    sb = Strings.appendKeyValue(sb, "totalCompactingKVs", Long.valueOf(this.totalCompactingKVs));<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    sb = Strings.appendKeyValue(sb, "currentCompactedKVs", Long.valueOf(this.currentCompactedKVs));<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    float compactionProgressPct = Float.NaN;<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    if (this.totalCompactingKVs &gt; 0) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      compactionProgressPct =<a name="line.320"></a>
+<span class="sourceLineNo">321</span>          Float.valueOf((float) this.currentCompactedKVs / this.totalCompactingKVs);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    }<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    sb = Strings.appendKeyValue(sb, "compactionProgressPct", compactionProgressPct);<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>    String[] coprocessorStrings = getRsCoprocessors();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    if (coprocessorStrings != null) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      sb = Strings.appendKeyValue(sb, "coprocessors", Arrays.toString(coprocessorStrings));<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    return sb.toString();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>  public static final ServerLoad EMPTY_SERVERLOAD =<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    new ServerLoad(ClusterStatusProtos.ServerLoad.newBuilder().build());<a name="line.333"></a>
+<span class="sourceLineNo">334</span>}<a name="line.334"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index 9c89d94..89166d4 100644
--- a/book.html
+++ b/book.html
@@ -33059,7 +33059,7 @@ The server will return cellblocks compressed using this same compressor as long
 <div id="footer">
 <div id="footer-text">
 Version 2.0.0-SNAPSHOT<br>
-Last updated 2016-02-05 00:10:35 UTC
+Last updated 2016-02-05 14:47:28 UTC
 </div>
 </div>
 </body>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
index 50ad991..3034605 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
@@ -318,6 +318,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FILTERED_READ_REQUEST_COUNT">FILTERED_READ_REQUEST_COUNT</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FILTERED_READ_REQUEST_COUNT_DESC">FILTERED_READ_REQUEST_COUNT_DESC</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FLUSH_KEY">FLUSH_KEY</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -1100,13 +1108,33 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.READ_REQUEST_COUNT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
+<a name="FILTERED_READ_REQUEST_COUNT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FILTERED_READ_REQUEST_COUNT</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.165">FILTERED_READ_REQUEST_COUNT</a></pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.FILTERED_READ_REQUEST_COUNT">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+<a name="FILTERED_READ_REQUEST_COUNT_DESC">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FILTERED_READ_REQUEST_COUNT_DESC</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.166">FILTERED_READ_REQUEST_COUNT_DESC</a></pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.FILTERED_READ_REQUEST_COUNT_DESC">Constant Field Values</a></dd></dl>
+</li>
+</ul>
 <a name="WRITE_REQUEST_COUNT">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>WRITE_REQUEST_COUNT</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.165">WRITE_REQUEST_COUNT</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.168">WRITE_REQUEST_COUNT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.WRITE_REQUEST_COUNT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1116,7 +1144,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>WRITE_REQUEST_COUNT_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.166">WRITE_REQUEST_COUNT_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.169">WRITE_REQUEST_COUNT_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.WRITE_REQUEST_COUNT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1126,7 +1154,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>CHECK_MUTATE_FAILED_COUNT</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.168">CHECK_MUTATE_FAILED_COUNT</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.171">CHECK_MUTATE_FAILED_COUNT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.CHECK_MUTATE_FAILED_COUNT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1136,7 +1164,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>CHECK_MUTATE_FAILED_COUNT_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.169">CHECK_MUTATE_FAILED_COUNT_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.172">CHECK_MUTATE_FAILED_COUNT_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.CHECK_MUTATE_FAILED_COUNT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1146,7 +1174,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>CHECK_MUTATE_PASSED_COUNT</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.171">CHECK_MUTATE_PASSED_COUNT</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.174">CHECK_MUTATE_PASSED_COUNT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.CHECK_MUTATE_PASSED_COUNT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1156,7 +1184,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>CHECK_MUTATE_PASSED_COUNT_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.172">CHECK_MUTATE_PASSED_COUNT_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.175">CHECK_MUTATE_PASSED_COUNT_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.CHECK_MUTATE_PASSED_COUNT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1166,7 +1194,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>STOREFILE_INDEX_SIZE</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.174">STOREFILE_INDEX_SIZE</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.177">STOREFILE_INDEX_SIZE</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.STOREFILE_INDEX_SIZE">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1176,7 +1204,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>STOREFILE_INDEX_SIZE_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.175">STOREFILE_INDEX_SIZE_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.178">STOREFILE_INDEX_SIZE_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.STOREFILE_INDEX_SIZE_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1186,7 +1214,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>STATIC_INDEX_SIZE</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.176">STATIC_INDEX_SIZE</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.179">STATIC_INDEX_SIZE</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.STATIC_INDEX_SIZE">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1196,7 +1224,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>STATIC_INDEX_SIZE_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.177">STATIC_INDEX_SIZE_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.180">STATIC_INDEX_SIZE_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.STATIC_INDEX_SIZE_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1206,7 +1234,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>STATIC_BLOOM_SIZE</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.178">STATIC_BLOOM_SIZE</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.181">STATIC_BLOOM_SIZE</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.STATIC_BLOOM_SIZE">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1216,7 +1244,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>STATIC_BLOOM_SIZE_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.179">STATIC_BLOOM_SIZE_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.182">STATIC_BLOOM_SIZE_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.STATIC_BLOOM_SIZE_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1226,7 +1254,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>NUMBER_OF_MUTATIONS_WITHOUT_WAL</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.181">NUMBER_OF_MUTATIONS_WITHOUT_WAL</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.184">NUMBER_OF_MUTATIONS_WITHOUT_WAL</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.NUMBER_OF_MUTATIONS_WITHOUT_WAL">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1236,7 +1264,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>NUMBER_OF_MUTATIONS_WITHOUT_WAL_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.182">NUMBER_OF_MUTATIONS_WITHOUT_WAL_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.185">NUMBER_OF_MUTATIONS_WITHOUT_WAL_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.NUMBER_OF_MUTATIONS_WITHOUT_WAL_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1246,7 +1274,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>DATA_SIZE_WITHOUT_WAL</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.184">DATA_SIZE_WITHOUT_WAL</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.187">DATA_SIZE_WITHOUT_WAL</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.DATA_SIZE_WITHOUT_WAL">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1256,7 +1284,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>DATA_SIZE_WITHOUT_WAL_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.185">DATA_SIZE_WITHOUT_WAL_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.188">DATA_SIZE_WITHOUT_WAL_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.DATA_SIZE_WITHOUT_WAL_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1266,7 +1294,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>PERCENT_FILES_LOCAL</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.187">PERCENT_FILES_LOCAL</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.190">PERCENT_FILES_LOCAL</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.PERCENT_FILES_LOCAL">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1276,7 +1304,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>PERCENT_FILES_LOCAL_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.188">PERCENT_FILES_LOCAL_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.191">PERCENT_FILES_LOCAL_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.PERCENT_FILES_LOCAL_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1286,7 +1314,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>PERCENT_FILES_LOCAL_SECONDARY_REGIONS</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.190">PERCENT_FILES_LOCAL_SECONDARY_REGIONS</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.193">PERCENT_FILES_LOCAL_SECONDARY_REGIONS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.PERCENT_FILES_LOCAL_SECONDARY_REGIONS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1296,7 +1324,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>PERCENT_FILES_LOCAL_SECONDARY_REGIONS_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.191">PERCENT_FILES_LOCAL_SECONDARY_REGIONS_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.194">PERCENT_FILES_LOCAL_SECONDARY_REGIONS_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.PERCENT_FILES_LOCAL_SECONDARY_REGIONS_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1306,7 +1334,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SPLIT_QUEUE_LENGTH</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.193">SPLIT_QUEUE_LENGTH</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.196">SPLIT_QUEUE_LENGTH</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SPLIT_QUEUE_LENGTH">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1316,7 +1344,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SPLIT_QUEUE_LENGTH_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.194">SPLIT_QUEUE_LENGTH_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.197">SPLIT_QUEUE_LENGTH_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SPLIT_QUEUE_LENGTH_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1326,7 +1354,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>COMPACTION_QUEUE_LENGTH</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.195">COMPACTION_QUEUE_LENGTH</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.198">COMPACTION_QUEUE_LENGTH</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.COMPACTION_QUEUE_LENGTH">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1336,7 +1364,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>LARGE_COMPACTION_QUEUE_LENGTH</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.196">LARGE_COMPACTION_QUEUE_LENGTH</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.199">LARGE_COMPACTION_QUEUE_LENGTH</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.LARGE_COMPACTION_QUEUE_LENGTH">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1346,7 +1374,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SMALL_COMPACTION_QUEUE_LENGTH</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.197">SMALL_COMPACTION_QUEUE_LENGTH</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.200">SMALL_COMPACTION_QUEUE_LENGTH</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SMALL_COMPACTION_QUEUE_LENGTH">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1356,7 +1384,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>COMPACTION_QUEUE_LENGTH_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.198">COMPACTION_QUEUE_LENGTH_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.201">COMPACTION_QUEUE_LENGTH_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.COMPACTION_QUEUE_LENGTH_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1366,7 +1394,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSH_QUEUE_LENGTH</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.199">FLUSH_QUEUE_LENGTH</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.202">FLUSH_QUEUE_LENGTH</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.FLUSH_QUEUE_LENGTH">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1376,7 +1404,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSH_QUEUE_LENGTH_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.200">FLUSH_QUEUE_LENGTH_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.203">FLUSH_QUEUE_LENGTH_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.FLUSH_QUEUE_LENGTH_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1386,7 +1414,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_FREE_SIZE</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.201">BLOCK_CACHE_FREE_SIZE</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.204">BLOCK_CACHE_FREE_SIZE</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_FREE_SIZE">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1396,7 +1424,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_FREE_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.202">BLOCK_CACHE_FREE_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.205">BLOCK_CACHE_FREE_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_FREE_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1406,7 +1434,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_COUNT</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.204">BLOCK_CACHE_COUNT</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.207">BLOCK_CACHE_COUNT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_COUNT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1416,7 +1444,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_COUNT_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.205">BLOCK_CACHE_COUNT_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.208">BLOCK_CACHE_COUNT_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_COUNT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1426,7 +1454,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_SIZE</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.206">BLOCK_CACHE_SIZE</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.209">BLOCK_CACHE_SIZE</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_SIZE">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1436,7 +1464,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_SIZE_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.207">BLOCK_CACHE_SIZE_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.210">BLOCK_CACHE_SIZE_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_SIZE_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1446,7 +1474,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_HIT_COUNT</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.208">BLOCK_CACHE_HIT_COUNT</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.211">BLOCK_CACHE_HIT_COUNT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_HIT_COUNT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1456,7 +1484,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_HIT_COUNT_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.209">BLOCK_CACHE_HIT_COUNT_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.212">BLOCK_CACHE_HIT_COUNT_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_HIT_COUNT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1466,7 +1494,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_PRIMARY_HIT_COUNT</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.210">BLOCK_CACHE_PRIMARY_HIT_COUNT</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.213">BLOCK_CACHE_PRIMARY_HIT_COUNT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_PRIMARY_HIT_COUNT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1476,7 +1504,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.211">BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.214">BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1486,7 +1514,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_MISS_COUNT</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.212">BLOCK_CACHE_MISS_COUNT</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.215">BLOCK_CACHE_MISS_COUNT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_MISS_COUNT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1496,7 +1524,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_COUNT_MISS_COUNT_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.213">BLOCK_COUNT_MISS_COUNT_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.216">BLOCK_COUNT_MISS_COUNT_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_COUNT_MISS_COUNT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1506,7 +1534,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_PRIMARY_MISS_COUNT</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.215">BLOCK_CACHE_PRIMARY_MISS_COUNT</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.218">BLOCK_CACHE_PRIMARY_MISS_COUNT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_PRIMARY_MISS_COUNT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1516,7 +1544,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.216">BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.219">BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1526,7 +1554,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_EVICTION_COUNT</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.218">BLOCK_CACHE_EVICTION_COUNT</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.221">BLOCK_CACHE_EVICTION_COUNT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_EVICTION_COUNT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1536,7 +1564,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_EVICTION_COUNT_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.219">BLOCK_CACHE_EVICTION_COUNT_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.222">BLOCK_CACHE_EVICTION_COUNT_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_EVICTION_COUNT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1546,7 +1574,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_PRIMARY_EVICTION_COUNT</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.221">BLOCK_CACHE_PRIMARY_EVICTION_COUNT</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.224">BLOCK_CACHE_PRIMARY_EVICTION_COUNT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_PRIMARY_EVICTION_COUNT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1556,7 +1584,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_PRIMARY_EVICTION_COUNT_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.222">BLOCK_CACHE_PRIMARY_EVICTION_COUNT_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.225">BLOCK_CACHE_PRIMARY_EVICTION_COUNT_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_PRIMARY_EVICTION_COUNT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1566,7 +1594,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_HIT_PERCENT</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.224">BLOCK_CACHE_HIT_PERCENT</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.227">BLOCK_CACHE_HIT_PERCENT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_HIT_PERCENT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1576,7 +1604,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_HIT_PERCENT_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.225">BLOCK_CACHE_HIT_PERCENT_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.228">BLOCK_CACHE_HIT_PERCENT_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_HIT_PERCENT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1586,7 +1614,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_EXPRESS_HIT_PERCENT</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.227">BLOCK_CACHE_EXPRESS_HIT_PERCENT</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.230">BLOCK_CACHE_EXPRESS_HIT_PERCENT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_EXPRESS_HIT_PERCENT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1596,7 +1624,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_EXPRESS_HIT_PERCENT_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.228">BLOCK_CACHE_EXPRESS_HIT_PERCENT_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.231">BLOCK_CACHE_EXPRESS_HIT_PERCENT_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_EXPRESS_HIT_PERCENT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1606,7 +1634,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_FAILED_INSERTION_COUNT</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.230">BLOCK_CACHE_FAILED_INSERTION_COUNT</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.233">BLOCK_CACHE_FAILED_INSERTION_COUNT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_FAILED_INSERTION_COUNT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1616,7 +1644,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_CACHE_FAILED_INSERTION_COUNT_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.231">BLOCK_CACHE_FAILED_INSERTION_COUNT_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.234">BLOCK_CACHE_FAILED_INSERTION_COUNT_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.BLOCK_CACHE_FAILED_INSERTION_COUNT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1626,7 +1654,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>RS_START_TIME_NAME</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.233">RS_START_TIME_NAME</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.236">RS_START_TIME_NAME</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RS_START_TIME_NAME">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1636,7 +1664,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>ZOOKEEPER_QUORUM_NAME</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.234">ZOOKEEPER_QUORUM_NAME</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.237">ZOOKEEPER_QUORUM_NAME</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.ZOOKEEPER_QUORUM_NAME">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1646,7 +1674,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SERVER_NAME_NAME</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.235">SERVER_NAME_NAME</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.238">SERVER_NAME_NAME</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SERVER_NAME_NAME">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1656,7 +1684,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>CLUSTER_ID_NAME</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.236">CLUSTER_ID_NAME</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.239">CLUSTER_ID_NAME</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.CLUSTER_ID_NAME">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1666,7 +1694,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>RS_START_TIME_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.237">RS_START_TIME_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.240">RS_START_TIME_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RS_START_TIME_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1676,7 +1704,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>ZOOKEEPER_QUORUM_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.238">ZOOKEEPER_QUORUM_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.241">ZOOKEEPER_QUORUM_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.ZOOKEEPER_QUORUM_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1686,7 +1714,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SERVER_NAME_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.239">SERVER_NAME_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.242">SERVER_NAME_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SERVER_NAME_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1696,7 +1724,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>CLUSTER_ID_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.240">CLUSTER_ID_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.243">CLUSTER_ID_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.CLUSTER_ID_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1706,7 +1734,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>UPDATES_BLOCKED_TIME</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.241">UPDATES_BLOCKED_TIME</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.244">UPDATES_BLOCKED_TIME</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.UPDATES_BLOCKED_TIME">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1716,7 +1744,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>UPDATES_BLOCKED_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.242">UPDATES_BLOCKED_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.245">UPDATES_BLOCKED_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.UPDATES_BLOCKED_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1726,7 +1754,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>DELETE_KEY</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.244">DELETE_KEY</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.247">DELETE_KEY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.DELETE_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1736,7 +1764,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>GET_KEY</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.245">GET_KEY</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.248">GET_KEY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.GET_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1746,7 +1774,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>INCREMENT_KEY</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.246">INCREMENT_KEY</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.249">INCREMENT_KEY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.INCREMENT_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1756,7 +1784,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>MUTATE_KEY</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.247">MUTATE_KEY</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.250">MUTATE_KEY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.MUTATE_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1766,7 +1794,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>APPEND_KEY</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.248">APPEND_KEY</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.251">APPEND_KEY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.APPEND_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1776,7 +1804,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLAY_KEY</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.249">REPLAY_KEY</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.252">REPLAY_KEY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.REPLAY_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1786,7 +1814,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SCAN_NEXT_KEY</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.250">SCAN_NEXT_KEY</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.253">SCAN_NEXT_KEY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SCAN_NEXT_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1796,7 +1824,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SLOW_MUTATE_KEY</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.251">SLOW_MUTATE_KEY</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.254">SLOW_MUTATE_KEY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SLOW_MUTATE_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1806,7 +1834,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SLOW_GET_KEY</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.252">SLOW_GET_KEY</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.255">SLOW_GET_KEY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SLOW_GET_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1816,7 +1844,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SLOW_DELETE_KEY</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.253">SLOW_DELETE_KEY</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.256">SLOW_DELETE_KEY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SLOW_DELETE_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1826,7 +1854,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SLOW_INCREMENT_KEY</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.254">SLOW_INCREMENT_KEY</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.257">SLOW_INCREMENT_KEY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SLOW_INCREMENT_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1836,7 +1864,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SLOW_APPEND_KEY</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.255">SLOW_APPEND_KEY</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.258">SLOW_APPEND_KEY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SLOW_APPEND_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1846,7 +1874,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SLOW_MUTATE_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.256">SLOW_MUTATE_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.259">SLOW_MUTATE_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SLOW_MUTATE_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1856,7 +1884,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SLOW_DELETE_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.258">SLOW_DELETE_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.261">SLOW_DELETE_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SLOW_DELETE_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1866,7 +1894,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SLOW_GET_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.260">SLOW_GET_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.263">SLOW_GET_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SLOW_GET_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1876,7 +1904,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SLOW_INCREMENT_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.261">SLOW_INCREMENT_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.264">SLOW_INCREMENT_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SLOW_INCREMENT_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1886,7 +1914,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SLOW_APPEND_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.263">SLOW_APPEND_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.266">SLOW_APPEND_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SLOW_APPEND_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1896,7 +1924,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSHED_CELLS</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.266">FLUSHED_CELLS</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.269">FLUSHED_CELLS</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.FLUSHED_CELLS">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1906,7 +1934,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSHED_CELLS_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.267">FLUSHED_CELLS_DESC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.270">FLUSHED_CELLS_DESC</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.FLUSHED_CELLS_DESC">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1916,7 +1944,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSHED_CELLS_SIZE</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.268">FLUSHED_CELLS_SIZE</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.271">FLUSHED_CELLS_SIZE</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.FLUSHED_CELLS_SIZE">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1926,7 +1954,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSHED_CELLS_SIZE_DESC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#line.269">FLUSHED_CELLS_SIZE_DESC</a></pre>
+<pre>static fina

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.html
index d03724e..658fe8f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.html
@@ -292,7951 +292,7969 @@
 <span class="sourceLineNo">284</span><a name="line.284"></a>
 <span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter writeRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  // Number of requests blocked by memstore size.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  // Compaction counters<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>  private final WAL wal;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final HRegionFileSystem fs;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  protected final Configuration conf;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  private final Configuration baseConf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final int rowLockWaitDuration;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  // The internal wait duration to acquire a lock before read/update<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // we can release the IPC handler soon enough to improve the<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // availability of the region server. It can be adjusted by<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  final long busyWaitDuration;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>  // If updating multiple rows in one call, wait longer,<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // we can limit the max multiplier.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  final int maxBusyWaitMultiplier;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  final long maxBusyWaitDuration;<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  // negative number indicates infinite timeout<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * The sequence ID that was encountered when this region was opened.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * scan requests to this region. Requests can override it.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  //<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // are equal to or lower than maxSeqId for each store.<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // The following map is populated when opening the region<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>  /** Saved state from replaying prepare flush cache */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  /**<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   */<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private boolean disallowWritesInRecovering = false;<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  private volatile boolean recovering = false;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>  /**<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * region. Writes older than this readPoint, are included in every<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * read operation.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  public long getSmallestReadPoint() {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    long minimumReadPoint;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    synchronized(scannerReadPoints) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          minimumReadPoint = readPoint;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return minimumReadPoint;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  /*<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * Data structure of write state flags used coordinating flushes,<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * compactions and closes.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  static class WriteState {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // Set while a memstore flush is happening.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    volatile boolean flushing = false;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // Set when a flush has been requested.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    volatile boolean flushRequested = false;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // Number of compactions running.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    volatile boolean writesEnabled = true;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // Set if region is read-only<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    volatile boolean readOnly = false;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    volatile boolean readsEnabled = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>    /**<a name="line.405"></a>
-<span class="sourceLineNo">406</span>     * Set flags that make this region read-only.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     *<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     * @param onOff flip value for region r/o setting<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.writesEnabled = !onOff;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.readOnly = onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>    boolean isReadOnly() {<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return this.flushRequested;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      this.readsEnabled = readsEnabled;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  /**<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * if it didn't flush.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public static class FlushResultImpl implements FlushResult {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    final Result result;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final String failureReason;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final long flushSequenceId;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final boolean wroteFlushWalMarker;<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    /**<a name="line.443"></a>
-<span class="sourceLineNo">444</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * null.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     *                        memstores.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     */<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      this(result, flushSequenceId, null, false);<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>     * Convenience constructor to use when we cannot flush.<a name="line.457"></a>
-<span class="sourceLineNo">458</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>     * @param failureReason Reason why we couldn't flush.<a name="line.459"></a>
-<span class="sourceLineNo">460</span>     */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>    /**<a name="line.466"></a>
-<span class="sourceLineNo">467</span>     * Constructor with all the parameters.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @param result Any of the Result.<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>     */<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      boolean wroteFlushMarker) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      this.result = result;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      this.flushSequenceId = flushSequenceId;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      this.failureReason = failureReason;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      this.wroteFlushWalMarker = wroteFlushMarker;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>    /**<a name="line.480"></a>
-<span class="sourceLineNo">481</span>     * Convenience method, the equivalent of checking if result is<a name="line.481"></a>
-<span class="sourceLineNo">482</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>     * @return true if the memstores were flushed, else false.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>     */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public boolean isFlushSucceeded() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.487"></a>
-<span class="sourceLineNo">488</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>    /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<a name="line.493"></a>
-<span class="sourceLineNo">494</span>     */<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    @Override<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    public boolean isCompactionNeeded() {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    }<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    @Override<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    public String toString() {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      return new StringBuilder()<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        .append("flush result:").append(result).append(", ")<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        .append("flush seq id").append(flushSequenceId).toString();<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    @Override<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    public Result getResult() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      return result;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  }<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span>  /** A result object from prepare flush cache stage */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static class PrepareFlushResult {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    final FlushResult result; // indicating a failure result from prepare<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    final TreeMap&lt;byte[], Long&gt; storeFlushableSize;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    final long startTime;<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    final long flushOpSeqId;<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    final long flushedSeqId;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    final long totalFlushableSize;<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    /** Constructs an early exit case */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    PrepareFlushResult(FlushResult result, long flushSeqId) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, 0);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>    /** Constructs a successful prepare flush result */<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    PrepareFlushResult(<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        flushSeqId, flushedSeqId, totalFlushableSize);<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    }<a name="line.539"></a>
-<span class="sourceLineNo">540</span><a name="line.540"></a>
-<span class="sourceLineNo">541</span>    private PrepareFlushResult(<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      FlushResult result,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      this.result = result;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      this.committedFiles = committedFiles;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      this.startTime = startTime;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      this.flushOpSeqId = flushSeqId;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      this.flushedSeqId = flushedSeqId;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      this.totalFlushableSize = totalFlushableSize;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    }<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    public FlushResult getResult() {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      return this.result;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  final WriteState writestate = new WriteState();<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  long memstoreFlushSize;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  final long timestampSlop;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  final long rowProcessorTimeout;<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  private final ConcurrentMap&lt;Store, Long&gt; lastStoreFlushTimeMap =<a name="line.569"></a>
-<span class="sourceLineNo">570</span>      new ConcurrentHashMap&lt;Store, Long&gt;();<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>  final RegionServerServices rsServices;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private RegionServerAccounting rsAccounting;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  private long flushCheckInterval;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.575"></a>
-<span class="sourceLineNo">576</span>  private long flushPerChanges;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  private long blockingMemStoreSize;<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  final long threadWakeFrequency;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  // Used to guard closes<a name="line.579"></a>
-<span class="sourceLineNo">580</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span>  // Stop updates lock<a name="line.582"></a>
-<span class="sourceLineNo">583</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.583"></a>
-<span class="sourceLineNo">584</span>  private boolean splitRequest;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>  private byte[] explicitSplitPoint = null;<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  // Coprocessor host<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.590"></a>
-<span class="sourceLineNo">591</span><a name="line.591"></a>
-<span class="sourceLineNo">592</span>  private HTableDescriptor htableDescriptor = null;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>  private RegionSplitPolicy splitPolicy;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  private FlushPolicy flushPolicy;<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>  private final MetricsRegion metricsRegion;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>  private final Durability durability;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  private final boolean regionStatsEnabled;<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>  /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   *<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * usually the table directory.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * The wal file is a logfile from the previous execution that's<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * the supplied path.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param fs is the filesystem.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @param confParam is global configuration settings.<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @param regionInfo - HRegionInfo that describes the region<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * is new), then read them from the supplied path.<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param htd the table descriptor<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @deprecated Use other constructors.<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  @Deprecated<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  @VisibleForTesting<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      final Configuration confParam, final HRegionInfo regionInfo,<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.627"></a>
-<span class="sourceLineNo">628</span>      wal, confParam, htd, rsServices);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>  }<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>  /**<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   *<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * @param fs is the filesystem.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * The wal file is a logfile from the previous execution that's<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.640"></a>
-<span class="sourceLineNo">641</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   * the supplied path.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * @param confParam is global configuration settings.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @param htd the table descriptor<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    if (htd == null) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      throw new IllegalArgumentException("Need table descriptor");<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    }<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span>    if (confParam instanceof CompoundConfiguration) {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      throw new IllegalArgumentException("Need original base configuration");<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>    this.wal = wal;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    this.fs = fs;<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    this.baseConf = confParam;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.conf = new CompoundConfiguration()<a name="line.662"></a>
-<span class="sourceLineNo">663</span>      .add(confParam)<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      .addStringMap(htd.getConfiguration())<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      .addBytesMap(htd.getValues());<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.670"></a>
-<span class="sourceLineNo">671</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.673"></a>
-<span class="sourceLineNo">674</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.674"></a>
-<span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span>    this.maxWaitForSeqId = conf.getInt(MAX_WAIT_FOR_SEQ_ID_KEY, DEFAULT_MAX_WAIT_FOR_SEQ_ID);<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    this.htableDescriptor = htd;<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.rsServices = rsServices;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    this.threadWakeFrequency = conf.getLong(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    setHTableSpecificConf();<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;RegionScanner, Long&gt;();<a name="line.682"></a>
-<span class="sourceLineNo">683</span><a name="line.683"></a>
-<span class="sourceLineNo">684</span>    this.busyWaitDuration = conf.getLong(<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.688"></a>
-<span class="sourceLineNo">689</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.689"></a>
-<span class="sourceLineNo">690</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    }<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>    /*<a name="line.695"></a>
-<span class="sourceLineNo">696</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.698"></a>
-<span class="sourceLineNo">699</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.699"></a>
-<span class="sourceLineNo">700</span>     */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    this.timestampSlop = conf.getLong(<a name="line.701"></a>
-<span class="sourceLineNo">702</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        HConstants.LATEST_TIMESTAMP);<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>    /**<a name="line.705"></a>
-<span class="sourceLineNo">706</span>     * Timeout for the process time in processRowsWithLocks().<a name="line.706"></a>
-<span class="sourceLineNo">707</span>     * Use -1 to switch off time bound.<a name="line.707"></a>
-<span class="sourceLineNo">708</span>     */<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    this.durability = htd.getDurability() == Durability.USE_DEFAULT<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        ? DEFAULT_DURABILITY<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        : htd.getDurability();<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    if (rsServices != null) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>      Map&lt;String, Region&gt; recoveringRegions = rsServices.getRecoveringRegions();<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      String encodedName = getRegionInfo().getEncodedName();<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      if (recoveringRegions != null &amp;&amp; recoveringRegions.containsKey(encodedName)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        this.recovering = true;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        recoveringRegions.put(encodedName, this);<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      }<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    } else {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.metricsRegionWrapper = null;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      this.metricsRegion = null;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    if (LOG.isDebugEnabled()) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      // Write out region name as string and its encoded name.<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      LOG.debug("Instantiated " + this);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>    }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>    // by default, we allow writes against a region when it's in recovering<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    this.disallowWritesInRecovering =<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        conf.getBoolean(HConstants.DISALLOW_WRITES_IN_RECOVERING,<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          HConstants.DEFAULT_DISALLOW_WRITES_IN_RECOVERING_CONFIG);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    configurationManager = Optional.absent();<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.744"></a>
-<span class="sourceLineNo">745</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          false :<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.747"></a>
-<span class="sourceLineNo">748</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  }<a name="line.749"></a>
-<span class="sourceLineNo">750</span><a name="line.750"></a>
-<span class="sourceLineNo">751</span>  void setHTableSpecificConf() {<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    if (this.htableDescriptor == null) return;<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.753"></a>
-<span class="sourceLineNo">754</span><a name="line.754"></a>
-<span class="sourceLineNo">755</span>    if (flushSize &lt;= 0) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        HTableDescriptor.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    this.memstoreFlushSize = flushSize;<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.760"></a>
-<span class="sourceLineNo">761</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  }<a name="line.763"></a>
-<span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>  /**<a name="line.765"></a>
-<span class="sourceLineNo">766</span>   * Initialize this region.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * You should use createHRegion() or openHRegion()<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * @return What the next sequence (edit) id should be.<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * @throws IOException e<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   */<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  @Deprecated<a name="line.773"></a>
-<span class="sourceLineNo">774</span>  public long initialize() throws IOException {<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    return initialize(null);<a name="line.775"></a>
-<span class="sourceLineNo">776</span>  }<a name="line.776"></a>
-<span class="sourceLineNo">777</span><a name="line.777"></a>
-<span class="sourceLineNo">778</span>  /**<a name="line.778"></a>
-<span class="sourceLineNo">779</span>   * Initialize this region.<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   *<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * @return What the next sequence (edit) id should be.<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * @throws IOException e<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   */<a name="line.784"></a>
-<span class="sourceLineNo">785</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    long nextSeqId = -1;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    try {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.789"></a>
-<span class="sourceLineNo">790</span>      return nextSeqId;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    } finally {<a name="line.791"></a>
-<span class="sourceLineNo">792</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      // At least it will be 0 otherwise.<a name="line.793"></a>
-<span class="sourceLineNo">794</span>      if (nextSeqId == -1) {<a name="line.794"></a>
-<span class="sourceLineNo">795</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.795"></a>
-<span class="sourceLineNo">796</span>          " initialization.");<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      }<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span>  }<a name="line.799"></a>
-<span class="sourceLineNo">800</span><a name="line.800"></a>
-<span class="sourceLineNo">801</span>  private long initializeRegionInternals(final CancelableProgressable reporter,<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      final MonitoredTask status) throws IOException {<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    if (coprocessorHost != null) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      status.setStatus("Running coprocessor pre-open hook");<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      coprocessorHost.preOpen();<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    // Write HRI to a file in case we need to recover hbase:meta<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    status.setStatus("Writing region info on filesystem");<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    fs.checkRegionInfoOnFilesystem();<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    // Initialize all the HStores<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    status.setStatus("Initializing all the Stores");<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    long maxSeqId = initializeStores(reporter, status);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    this.mvcc.advanceTo(maxSeqId);<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    if (ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      // Recover any edits if available.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      maxSeqId = Math.max(maxSeqId,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>        replayRecoveredEditsIfAny(this.fs.getRegionDir(), maxSeqIdInStores, reporter, status));<a name="line.819"></a>
-<span class="sourceLineNo">820</span>      // Make sure mvcc is up to max.<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.mvcc.advanceTo(maxSeqId);<a name="line.821"></a>
-<span class="sourceLineNo">822</span>    }<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    this.lastReplayedOpenRegionSeqId = maxSeqId;<a name="line.823"></a>
-<span class="sourceLineNo">824</span><a name="line.824"></a>
-<span class="sourceLineNo">825</span>    this.writestate.setReadOnly(ServerRegionReplicaUtil.isReadOnly(this));<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    this.writestate.flushRequested = false;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    this.writestate.compacting.set(0);<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span>    if (this.writestate.writesEnabled) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      // Remove temporary data left over from old regions<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      status.setStatus("Cleaning up temporary data from old regions");<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      fs.cleanupTempDir();<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
-<span class="sourceLineNo">834</span><a name="line.834"></a>
-<span class="sourceLineNo">835</span>    if (this.writestate.writesEnabled) {<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      status.setStatus("Cleaning up detritus from prior splits");<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      // Get rid of any splits or merges that were lost in-progress.  Clean out<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      // these directories here on open.  We may be opening a region that was<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      // being split but we crashed in the middle of it all.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>      fs.cleanupAnySplitDetritus();<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      fs.cleanupMergesDir();<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Initialize split policy<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    this.splitPolicy = RegionSplitPolicy.create(this, conf);<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span>    // Initialize flush policy<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    this.flushPolicy = FlushPolicyFactory.create(this, conf);<a name="line.848"></a>
-<span class="sourceLineNo">849</span><a name="line.849"></a>
-<span class="sourceLineNo">850</span>    long lastFlushTime = EnvironmentEdgeManager.currentTime();<a name="line.850"></a>
-<span class="sourceLineNo">851</span>    for (Store store: stores.values()) {<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      this.lastStoreFlushTimeMap.put(store, lastFlushTime);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>    // Use maximum of log sequenceid or that which was found in stores<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    // (particularly if no recovered edits, seqid will be -1).<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    long nextSeqid = maxSeqId;<a name="line.857"></a>
-<span class="sourceLineNo">858</span><a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // In distributedLogReplay mode, we don't know the last change sequence number because region<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // is opened before recovery completes. So we add a safety bumper to avoid new sequence number<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    // overlaps used sequence numbers<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (this.writestate.writesEnabled) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      nextSeqid = WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs<a name="line.863"></a>
-<span class="sourceLineNo">864</span>          .getRegionDir(), nextSeqid, (this.recovering ? (this.flushPerChanges + 10000000) : 1));<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    } else {<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      nextSeqid++;<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>    LOG.info("Onlined " + this.getRegionInfo().getShortNameToLog() +<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      "; next sequenceid=" + nextSeqid);<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    // A region can be reopened if failed a split; reset flags<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    this.closing.set(false);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    this.closed.set(false);<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    if (coprocessorHost != null) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      status.setStatus("Running coprocessor post-open hooks");<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      coprocessorHost.postOpen();<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span>    status.markComplete("Region opened successfully");<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    return nextSeqid;<a name="line.882"></a>
-<span class="sourceLineNo">883</span>  }<a name="line.883"></a>
-<span class="sourceLineNo">884</span><a name="line.884"></a>
-<span class="sourceLineNo">885</span>  /**<a name="line.885"></a>
-<span class="sourceLineNo">886</span>   * Open all Stores.<a name="line.886"></a>
-<span class="sourceLineNo">887</span>   * @param reporter<a name="line.887"></a>
-<span class="sourceLineNo">888</span>   * @param status<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * @return Highest sequenceId found out in a Store.<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * @throws IOException<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   */<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  private long initializeStores(final CancelableProgressable reporter, MonitoredTask status)<a name="line.892"></a>
-<span class="sourceLineNo">893</span>  throws IOException {<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    // Load in all the HStores.<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    long maxSeqId = -1;<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    // initialized to -1 so that we pick up MemstoreTS from column families<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    long maxMemstoreTS = -1;<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    if (!htableDescriptor.getFamilies().isEmpty()) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      // initialize the thread pool for opening stores in parallel.<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      ThreadPoolExecutor storeOpenerThreadPool =<a name="line.902"></a>
-<span class="sourceLineNo">903</span>        getStoreOpenAndCloseThreadPool("StoreOpener-" + this.getRegionInfo().getShortNameToLog());<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      CompletionService&lt;HStore&gt; completionService =<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        new ExecutorCompletionService&lt;HStore&gt;(storeOpenerThreadPool);<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span>      // initialize each store in parallel<a name="line.907"></a>
-<span class="sourceLineNo">908</span>      for (final HColumnDescriptor family : htableDescriptor.getFamilies()) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        status.setStatus("Instantiating store for column family " + family);<a name="line.909"></a>
-<span class="sourceLineNo">910</span>        completionService.submit(new Callable&lt;HStore&gt;() {<a name="line.910"></a>
-<span class="sourceLineNo">911</span>          @Override<a name="line.911"></a>
-<span class="sourceLineNo">912</span>          public HStore call() throws IOException {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>            return instantiateHStore(family);<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>      boolean allStoresOpened = false;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>      try {<a name="line.918"></a>
-<span class="sourceLineNo">919</span>        for (int i = 0; i &lt; htableDescriptor.getFamilies().size(); i++) {<a name="line.919"></a>
-<span class="sourceLineNo">920</span>          Future&lt;HStore&gt; future = completionService.take();<a name="line.920"></a>
-<span class="sourceLineNo">921</span>          HStore store = future.get();<a name="line.921"></a>
-<span class="sourceLineNo">922</span>          this.stores.put(store.getFamily().getName(), store);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>          long storeMaxSequenceId = store.getMaxSequenceId();<a name="line.924"></a>
-<span class="sourceLineNo">925</span>          maxSeqIdInStores.put(store.getColumnFamilyName().getBytes(),<a name="line.925"></a>
-<span class="sourceLineNo">926</span>              storeMaxSequenceId);<a name="line.926"></a>
-<span class="sourceLineNo">927</span>          if (maxSeqId == -1 || storeMaxSequenceId &gt; maxSeqId) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>            maxSeqId = storeMaxSequenceId;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>          }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>          long maxStoreMemstoreTS = store.getMaxMemstoreTS();<a name="line.930"></a>
-<span class="sourceLineNo">931</span>          if (maxStoreMemstoreTS &gt; maxMemstoreTS) {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>            maxMemstoreTS = maxStoreMemstoreTS;<a name="line.932"></a>
-<span class="sourceLineNo">933</span>          }<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        }<a name="line.934"></a>
-<span class="sourceLineNo">935</span>        allStoresOpened = true;<a name="line.935"></a>
-<span class="sourceLineNo">936</span>      } catch (InterruptedException e) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>        throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>      } catch (ExecutionException e) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span>        throw new IOException(e.getCause());<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      } finally {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        storeOpenerThreadPool.shutdownNow();<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        if (!allStoresOpened) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>          // something went wrong, close all opened stores<a name="line.943"></a>
-<span class="sourceLineNo">944</span>          LOG.error("Could not initialize all stores for the region=" + this);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>          for (Store store : this.stores.values()) {<a name="line.945"></a>
-<span class="sourceLineNo">946</span>            try {<a name="line.946"></a>
-<span class="sourceLineNo">947</span>              store.close();<a name="line.947"></a>
-<span class="sourceLineNo">948</span>            } catch (IOException e) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>              LOG.warn(e.getMessage());<a name="line.949"></a>
-<span class="sourceLineNo">950</span>            }<a name="line.950"></a>
-<span class="sourceLineNo">951</span>          }<a name="line.951"></a>
-<span class="sourceLineNo">952</span>        }<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      }<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    return Math.max(maxSeqId, maxMemstoreTS + 1);<a name="line.955"></a>
-<span class="sourceLineNo">956</span>  }<a name="line.956"></a>
-<span class="sourceLineNo">957</span><a name="line.957"></a>
-<span class="sourceLineNo">958</span>  private void initializeWarmup(final CancelableProgressable reporter) throws IOException {<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.959"></a>
-<span class="sourceLineNo">960</span><a name="line.960"></a>
-<span class="sourceLineNo">961</span>    // Initialize all the HStores<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    status.setStatus("Warming up all the Stores");<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    initializeStores(reporter, status);<a name="line.963"></a>
-<span class="sourceLineNo">964</span>  }<a name="line.964"></a>
-<span class="sourceLineNo">965</span><a name="line.965"></a>
-<span class="sourceLineNo">966</span>  /**<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   * @return Map of StoreFiles by column family<a name="line.967"></a>
-<span class="sourceLineNo">968</span>   */<a name="line.968"></a>
-<span class="sourceLineNo">969</span>  private NavigableMap&lt;byte[], List&lt;Path&gt;&gt; getStoreFiles() {<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    NavigableMap&lt;byte[], List&lt;Path&gt;&gt; allStoreFiles =<a name="line.970"></a>
-<span class="sourceLineNo">971</span>      new TreeMap&lt;byte[], List&lt;Path&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    for (Store store: getStores()) {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.973"></a>
-<span class="sourceLineNo">974</span>      if (storeFiles == null) continue;<a name="line.974"></a>
-<span class="sourceLineNo">975</span>      List&lt;Path&gt; storeFileNames = new ArrayList&lt;Path&gt;();<a name="line.975"></a>
-<span class="sourceLineNo">976</span>      for (StoreFile storeFile: storeFiles) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>        storeFileNames.add(storeFile.getPath());<a name="line.977"></a>
-<span class="sourceLineNo">978</span>      }<a name="line.978"></a>
-<span class="sourceLineNo">979</span>      allStoreFiles.put(store.getFamily().getName(), storeFileNames);<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    }<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    return allStoreFiles;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>  }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>  private void writeRegionOpenMarker(WAL wal, long openSeqId) throws IOException {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    RegionEventDescriptor regionOpenDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      RegionEventDescriptor.EventType.REGION_OPEN, getRegionInfo(), openSeqId,<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.988"></a>
-<span class="sourceLineNo">989</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionOpenDesc, mvcc);<a name="line.989"></a>
-<span class="sourceLineNo">990</span>  }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>  private void writeRegionCloseMarker(WAL wal) throws IOException {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    RegionEventDescriptor regionEventDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.994"></a>
-<span class="sourceLineNo">995</span>      RegionEventDescriptor.EventType.REGION_CLOSE, getRegionInfo(), mvcc.getReadPoint(),<a name="line.995"></a>
-<span class="sourceLineNo">996</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionEventDesc, mvcc);<a name="line.997"></a>
-<span class="sourceLineNo">998</span><a name="line.998"></a>
-<span class="sourceLineNo">999</span>    // Store SeqId in HDFS when a region closes<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    // checking region folder exists is due to many tests which delete the table folder while a<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    // table is still online<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    if (this.fs.getFileSystem().exists(this.fs.getRegionDir())) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>      WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs.getRegionDir(),<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>        mvcc.getReadPoint(), 0);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>    }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>  }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>  /**<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>   * @return True if this region has references.<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>   */<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>  public boolean hasReferences() {<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    for (Store store : this.stores.values()) {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      if (store.hasReferences()) return true;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>    return false;<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>  }<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span><a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  @Override<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  public HDFSBlocksDistribution getHDFSBlocksDistribution() {<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      new HDFSBlocksDistribution();<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    synchronized (this.stores) {<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>      for (Store store : this.stores.values()) {<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>        Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>        if (storeFiles == null) continue;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>        for (StoreFile sf : storeFiles) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>          HDFSBlocksDistribution storeFileBlocksDistribution =<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>            sf.getHDFSBlockDistribution();<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>          hdfsBlocksDistribution.add(storeFileBlocksDistribution);<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>    }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>    return hdfsBlocksDistribution;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>  /**<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>   * @param conf configuration<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>   * @param regionInfo encoded name of the region<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   * @throws IOException<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   */<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo) throws IOException {<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    Path tablePath = FSUtils.getTableDir(FSUtils.getRootDir(conf), tableDescriptor.getTableName());<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>    return computeHDFSBlocksDistribution(conf, tableDescriptor, regionInfo, tablePath);<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  }<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span><a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  /**<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>   * @param conf configuration<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * @param regionInfo encoded name of the region<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * @param tablePath the table directory<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>   * @throws IOException<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>   */<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo,  Path tablePath)<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>      throws IOException {<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    HDFSBlocksDistribution hdfsBlocksDistribution = new HDFSBlocksDistribution();<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>    FileSystem fs = tablePath.getFileSystem(conf);<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span><a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    HRegionFileSystem regionFs = new HRegionFileSystem(conf, fs, tablePath, regionInfo);<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    for (HColumnDescriptor family: tableDescriptor.getFamilies()) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      Collection&lt;StoreFileInfo&gt; storeFiles = regionFs.getStoreFiles(family.getNameAsString());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>      if (storeFiles == null) continue;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>      for (StoreFileInfo storeFileInfo : storeFiles) {<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>        try {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>          hdfsBlocksDistribution.add(storeFileInfo.computeHDFSBlocksDistribution(fs));<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        } catch (IOException ioe) {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>          LOG.warn("Error getting hdfs block distribution for " + storeFileInfo);<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>        }<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    return hdfsBlocksDistribution;<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>  /**<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>   * Increase the size of mem store in this region and the size of global mem<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>   * store<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>   * @return the size of memstore in this region<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   */<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>  public long addAndGetGlobalMemstoreSize(long memStoreSize) {<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    if (this.rsAccounting != null) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>      rsAccounting.addAndGetGlobalMemstoreSize(memStoreSize);<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>    }<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    return this.memstoreSize.addAndGet(memStoreSize);<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  }<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span><a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>  @Override<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>  public HRegionInfo getRegionInfo() {<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>    return this.fs.getRegionInfo();<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  }<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>   * @return Instance of {@link RegionServerServices} used by this HRegion.<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * Can be null.<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   */<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>  RegionServerServices getRegionServerServices() {<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    return this.rsServices;<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  }<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span><a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  @Override<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>  public long getReadRequestsCount() {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    return readRequestsCount.get();<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>  }<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span><a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>  @Override<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  public void updateReadRequestsCount(long i) {<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>    readRequestsCount.add(i);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  }<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  @Override<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  public long getWriteRequestsCount() {<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    return writeRequestsCount.get();<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>  @Override<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public void updateWriteRequestsCount(long i) {<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    writeRequestsCount.add(i);<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  }<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span><a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  @Override<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  public long getMemstoreSize() {<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>    return memstoreSize.get();<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  }<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span><a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>  @Override<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  public long getNumMutationsWithoutWAL() {<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>    return numMutationsWithoutWAL.get();<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>  }<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  @Override<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public long getDataInMemoryWithoutWAL() {<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    return dataInMemoryWithoutWAL.get();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span><a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>  @Override<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  public long getBlockedRequestsCount() {<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>    return blockedRequestsCount.get();<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>  }<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span><a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  @Override<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  public long getCheckAndMutateChecksPassed() {<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    return checkAndMutateChecksPassed.get();<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>  @Override<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>  public long getCheckAndMutateChecksFailed() {<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    return checkAndMutateChecksFailed.get();<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>  }<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span><a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  @Override<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>  public MetricsRegion getMetrics() {<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    return metricsRegion;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>  }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span><a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>  @Override<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public boolean isClosed() {<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>    return this.closed.get();<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  }<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span><a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  @Override<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  public boolean isClosing() {<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>    return this.closing.get();<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  }<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>  @Override<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>  public boolean isReadOnly() {<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>    return this.writestate.isReadOnly();<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>  }<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span><a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>  /**<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>   * Reset recovering state of current region<a name="l

<TRUNCATED>

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

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

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html
index 03bee3e..333c859 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.html
@@ -120,269 +120,273 @@
 <span class="sourceLineNo">112</span>    throws java.io.IOException<a name="line.112"></a>
 <span class="sourceLineNo">113</span>  {<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    // 117, 5<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n        &lt;tr&gt;\n            &lt;th&gt;Region Name&lt;/th&gt;\n            &lt;th&gt;Read Request Count&lt;/th&gt;\n            &lt;th&gt;Write Request Count&lt;/th&gt;\n        &lt;/tr&gt;\n\n        ");<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    // 124, 9<a name="line.116"></a>
+<span class="sourceLineNo">115</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n        &lt;tr&gt;\n            &lt;th&gt;Region Name&lt;/th&gt;\n            &lt;th&gt;Read Request Count&lt;/th&gt;\n            &lt;th&gt;Filtered Read Request Count&lt;/th&gt;\n            &lt;th&gt;Write Request Count&lt;/th&gt;\n        &lt;/tr&gt;\n\n        ");<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    // 125, 9<a name="line.116"></a>
 <span class="sourceLineNo">117</span>    for (HRegionInfo r: onlineRegions )<a name="line.117"></a>
 <span class="sourceLineNo">118</span>    {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      // 124, 46<a name="line.119"></a>
+<span class="sourceLineNo">119</span>      // 125, 46<a name="line.119"></a>
 <span class="sourceLineNo">120</span>      jamonWriter.write("\n\n        &lt;tr&gt;\n        ");<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      // 127, 9<a name="line.121"></a>
+<span class="sourceLineNo">121</span>      // 128, 9<a name="line.121"></a>
 <span class="sourceLineNo">122</span>      <a name="line.122"></a>
 <span class="sourceLineNo">123</span>            RegionLoad load = regionServer.createRegionLoad(r.getEncodedName());<a name="line.123"></a>
 <span class="sourceLineNo">124</span>            String displayName = HRegionInfo.getRegionNameAsStringForDisplay(r,<a name="line.124"></a>
 <span class="sourceLineNo">125</span>              regionServer.getConfiguration());<a name="line.125"></a>
 <span class="sourceLineNo">126</span>        <a name="line.126"></a>
-<span class="sourceLineNo">127</span>      // 132, 13<a name="line.127"></a>
+<span class="sourceLineNo">127</span>      // 133, 13<a name="line.127"></a>
 <span class="sourceLineNo">128</span>      jamonWriter.write("&lt;td&gt;&lt;a href=\"region.jsp?name=");<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      // 132, 42<a name="line.129"></a>
+<span class="sourceLineNo">129</span>      // 133, 42<a name="line.129"></a>
 <span class="sourceLineNo">130</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getEncodedName()), jamonWriter);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      // 132, 66<a name="line.131"></a>
+<span class="sourceLineNo">131</span>      // 133, 66<a name="line.131"></a>
 <span class="sourceLineNo">132</span>      jamonWriter.write("\"&gt;");<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      // 132, 68<a name="line.133"></a>
+<span class="sourceLineNo">133</span>      // 133, 68<a name="line.133"></a>
 <span class="sourceLineNo">134</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(displayName), jamonWriter);<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      // 132, 85<a name="line.135"></a>
+<span class="sourceLineNo">135</span>      // 133, 85<a name="line.135"></a>
 <span class="sourceLineNo">136</span>      jamonWriter.write("&lt;/a&gt;&lt;/td&gt;\n            ");<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      // 133, 13<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      // 134, 13<a name="line.137"></a>
 <span class="sourceLineNo">138</span>      if (load != null )<a name="line.138"></a>
 <span class="sourceLineNo">139</span>      {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>        // 133, 33<a name="line.140"></a>
+<span class="sourceLineNo">140</span>        // 134, 33<a name="line.140"></a>
 <span class="sourceLineNo">141</span>        jamonWriter.write("\n            &lt;td&gt;");<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        // 134, 17<a name="line.142"></a>
+<span class="sourceLineNo">142</span>        // 135, 17<a name="line.142"></a>
 <span class="sourceLineNo">143</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getReadRequestsCount()), jamonWriter);<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        // 134, 50<a name="line.144"></a>
+<span class="sourceLineNo">144</span>        // 135, 50<a name="line.144"></a>
 <span class="sourceLineNo">145</span>        jamonWriter.write("&lt;/td&gt;\n            &lt;td&gt;");<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        // 135, 17<a name="line.146"></a>
-<span class="sourceLineNo">147</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getWriteRequestsCount()), jamonWriter);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        // 135, 51<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        jamonWriter.write("&lt;/td&gt;\n            ");<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      }<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      // 136, 19<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      jamonWriter.write("\n        &lt;/tr&gt;\n        ");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    // 138, 16<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    jamonWriter.write("\n    &lt;/table&gt;\n");<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  <a name="line.157"></a>
-<span class="sourceLineNo">158</span>  <a name="line.158"></a>
-<span class="sourceLineNo">159</span>  // 219, 1<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  private void __jamon_innerUnit__memstoreStats(final java.io.Writer jamonWriter, final List&lt;HRegionInfo&gt; onlineRegions)<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    throws java.io.IOException<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    // 223, 5<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n        &lt;tr&gt;\n            &lt;th&gt;Region Name&lt;/th&gt;\n            &lt;th&gt;Memstore Size&lt;/th&gt;\n        &lt;/tr&gt;\n\n        ");<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    // 229, 9<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    for (HRegionInfo r: onlineRegions )<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      // 229, 46<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      jamonWriter.write("\n\n        &lt;tr&gt;\n        ");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      // 232, 9<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      <a name="line.171"></a>
-<span class="sourceLineNo">172</span>            RegionLoad load = regionServer.createRegionLoad(r.getEncodedName());<a name="line.172"></a>
-<span class="sourceLineNo">173</span>            String displayName = HRegionInfo.getRegionNameAsStringForDisplay(r,<a name="line.173"></a>
-<span class="sourceLineNo">174</span>              regionServer.getConfiguration());<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        <a name="line.175"></a>
-<span class="sourceLineNo">176</span>      // 237, 13<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      jamonWriter.write("&lt;td&gt;&lt;a href=\"region.jsp?name=");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      // 237, 42<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getEncodedName()), jamonWriter);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      // 237, 66<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      jamonWriter.write("\"&gt;");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      // 237, 68<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(displayName), jamonWriter);<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      // 237, 85<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      jamonWriter.write("&lt;/a&gt;&lt;/td&gt;\n            ");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      // 238, 13<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      if (load != null )<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>        // 238, 33<a name="line.189"></a>
-<span class="sourceLineNo">190</span>        jamonWriter.write("\n            &lt;td&gt;");<a name="line.190"></a>
-<span class="sourceLineNo">191</span>        // 239, 17<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getMemstoreSizeMB()), jamonWriter);<a name="line.192"></a>
-<span class="sourceLineNo">193</span>        // 239, 47<a name="line.193"></a>
-<span class="sourceLineNo">194</span>        jamonWriter.write("m&lt;/td&gt;\n            ");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      }<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      // 240, 19<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      jamonWriter.write("\n        &lt;/tr&gt;\n        ");<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    // 242, 16<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    jamonWriter.write("\n    &lt;/table&gt;\n");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  <a name="line.202"></a>
-<span class="sourceLineNo">203</span>  <a name="line.203"></a>
-<span class="sourceLineNo">204</span>  // 183, 1<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  private void __jamon_innerUnit__compactStats(final java.io.Writer jamonWriter, final List&lt;HRegionInfo&gt; onlineRegions)<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    throws java.io.IOException<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    // 187, 5<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n        &lt;tr&gt;\n            &lt;th&gt;Region Name&lt;/th&gt;\n            &lt;th&gt;Num. Compacting KVs&lt;/th&gt;\n            &lt;th&gt;Num. Compacted KVs&lt;/th&gt;\n            &lt;th&gt;Compaction Progress&lt;/th&gt;\n        &lt;/tr&gt;\n\n        ");<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    // 195, 9<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    for (HRegionInfo r: onlineRegions )<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      // 195, 46<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      jamonWriter.write("\n\n        &lt;tr&gt;\n        ");<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      // 198, 9<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      <a name="line.216"></a>
-<span class="sourceLineNo">217</span>            RegionLoad load = regionServer.createRegionLoad(r.getEncodedName());<a name="line.217"></a>
-<span class="sourceLineNo">218</span>            String percentDone = "";<a name="line.218"></a>
-<span class="sourceLineNo">219</span>            if  (load != null &amp;&amp; load.getTotalCompactingKVs() &gt; 0) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>            percentDone = String.format("%.2f", 100 *<a name="line.220"></a>
-<span class="sourceLineNo">221</span>            ((float) load.getCurrentCompactedKVs() / load.getTotalCompactingKVs())) + "%";<a name="line.221"></a>
-<span class="sourceLineNo">222</span>            }<a name="line.222"></a>
-<span class="sourceLineNo">223</span>            String displayName = HRegionInfo.getRegionNameAsStringForDisplay(r,<a name="line.223"></a>
-<span class="sourceLineNo">224</span>              regionServer.getConfiguration());<a name="line.224"></a>
-<span class="sourceLineNo">225</span>        <a name="line.225"></a>
-<span class="sourceLineNo">226</span>      // 208, 13<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      jamonWriter.write("&lt;td&gt;&lt;a href=\"region.jsp?name=");<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      // 208, 42<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getEncodedName()), jamonWriter);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      // 208, 66<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      jamonWriter.write("\"&gt;");<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      // 208, 68<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(displayName), jamonWriter);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      // 208, 85<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      jamonWriter.write("&lt;/a&gt;&lt;/td&gt;\n            ");<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      // 209, 13<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      if (load != null )<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        // 209, 33<a name="line.239"></a>
-<span class="sourceLineNo">240</span>        jamonWriter.write("\n            &lt;td&gt;");<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        // 210, 17<a name="line.241"></a>
-<span class="sourceLineNo">242</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getTotalCompactingKVs()), jamonWriter);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        // 210, 51<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        jamonWriter.write("&lt;/td&gt;\n            &lt;td&gt;");<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        // 211, 17<a name="line.245"></a>
-<span class="sourceLineNo">246</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getCurrentCompactedKVs()), jamonWriter);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        // 211, 52<a name="line.247"></a>
+<span class="sourceLineNo">146</span>        // 136, 17<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getFilteredReadRequestsCount()), jamonWriter);<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        // 136, 58<a name="line.148"></a>
+<span class="sourceLineNo">149</span>        jamonWriter.write("&lt;/td&gt;\n            &lt;td&gt;");<a name="line.149"></a>
+<span class="sourceLineNo">150</span>        // 137, 17<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getWriteRequestsCount()), jamonWriter);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        // 137, 51<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        jamonWriter.write("&lt;/td&gt;\n            ");<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      }<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      // 138, 19<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      jamonWriter.write("\n        &lt;/tr&gt;\n        ");<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    }<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    // 140, 16<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    jamonWriter.write("\n    &lt;/table&gt;\n");<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  <a name="line.161"></a>
+<span class="sourceLineNo">162</span>  <a name="line.162"></a>
+<span class="sourceLineNo">163</span>  // 221, 1<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  private void __jamon_innerUnit__memstoreStats(final java.io.Writer jamonWriter, final List&lt;HRegionInfo&gt; onlineRegions)<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    throws java.io.IOException<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    // 225, 5<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n        &lt;tr&gt;\n            &lt;th&gt;Region Name&lt;/th&gt;\n            &lt;th&gt;Memstore Size&lt;/th&gt;\n        &lt;/tr&gt;\n\n        ");<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    // 231, 9<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    for (HRegionInfo r: onlineRegions )<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      // 231, 46<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      jamonWriter.write("\n\n        &lt;tr&gt;\n        ");<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      // 234, 9<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      <a name="line.175"></a>
+<span class="sourceLineNo">176</span>            RegionLoad load = regionServer.createRegionLoad(r.getEncodedName());<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            String displayName = HRegionInfo.getRegionNameAsStringForDisplay(r,<a name="line.177"></a>
+<span class="sourceLineNo">178</span>              regionServer.getConfiguration());<a name="line.178"></a>
+<span class="sourceLineNo">179</span>        <a name="line.179"></a>
+<span class="sourceLineNo">180</span>      // 239, 13<a name="line.180"></a>
+<span class="sourceLineNo">181</span>      jamonWriter.write("&lt;td&gt;&lt;a href=\"region.jsp?name=");<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      // 239, 42<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getEncodedName()), jamonWriter);<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      // 239, 66<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      jamonWriter.write("\"&gt;");<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      // 239, 68<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(displayName), jamonWriter);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>      // 239, 85<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      jamonWriter.write("&lt;/a&gt;&lt;/td&gt;\n            ");<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      // 240, 13<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      if (load != null )<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>        // 240, 33<a name="line.193"></a>
+<span class="sourceLineNo">194</span>        jamonWriter.write("\n            &lt;td&gt;");<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        // 241, 17<a name="line.195"></a>
+<span class="sourceLineNo">196</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getMemstoreSizeMB()), jamonWriter);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>        // 241, 47<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        jamonWriter.write("m&lt;/td&gt;\n            ");<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      }<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      // 242, 19<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      jamonWriter.write("\n        &lt;/tr&gt;\n        ");<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    // 244, 16<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    jamonWriter.write("\n    &lt;/table&gt;\n");<a name="line.204"></a>
+<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  <a name="line.206"></a>
+<span class="sourceLineNo">207</span>  <a name="line.207"></a>
+<span class="sourceLineNo">208</span>  // 185, 1<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private void __jamon_innerUnit__compactStats(final java.io.Writer jamonWriter, final List&lt;HRegionInfo&gt; onlineRegions)<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    throws java.io.IOException<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    // 189, 5<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n        &lt;tr&gt;\n            &lt;th&gt;Region Name&lt;/th&gt;\n            &lt;th&gt;Num. Compacting KVs&lt;/th&gt;\n            &lt;th&gt;Num. Compacted KVs&lt;/th&gt;\n            &lt;th&gt;Compaction Progress&lt;/th&gt;\n        &lt;/tr&gt;\n\n        ");<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    // 197, 9<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    for (HRegionInfo r: onlineRegions )<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      // 197, 46<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      jamonWriter.write("\n\n        &lt;tr&gt;\n        ");<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      // 200, 9<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      <a name="line.220"></a>
+<span class="sourceLineNo">221</span>            RegionLoad load = regionServer.createRegionLoad(r.getEncodedName());<a name="line.221"></a>
+<span class="sourceLineNo">222</span>            String percentDone = "";<a name="line.222"></a>
+<span class="sourceLineNo">223</span>            if  (load != null &amp;&amp; load.getTotalCompactingKVs() &gt; 0) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>            percentDone = String.format("%.2f", 100 *<a name="line.224"></a>
+<span class="sourceLineNo">225</span>            ((float) load.getCurrentCompactedKVs() / load.getTotalCompactingKVs())) + "%";<a name="line.225"></a>
+<span class="sourceLineNo">226</span>            }<a name="line.226"></a>
+<span class="sourceLineNo">227</span>            String displayName = HRegionInfo.getRegionNameAsStringForDisplay(r,<a name="line.227"></a>
+<span class="sourceLineNo">228</span>              regionServer.getConfiguration());<a name="line.228"></a>
+<span class="sourceLineNo">229</span>        <a name="line.229"></a>
+<span class="sourceLineNo">230</span>      // 210, 13<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      jamonWriter.write("&lt;td&gt;&lt;a href=\"region.jsp?name=");<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      // 210, 42<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getEncodedName()), jamonWriter);<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      // 210, 66<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      jamonWriter.write("\"&gt;");<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      // 210, 68<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(displayName), jamonWriter);<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      // 210, 85<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      jamonWriter.write("&lt;/a&gt;&lt;/td&gt;\n            ");<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      // 211, 13<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      if (load != null )<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        // 211, 33<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        jamonWriter.write("\n            &lt;td&gt;");<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        // 212, 17<a name="line.245"></a>
+<span class="sourceLineNo">246</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getTotalCompactingKVs()), jamonWriter);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        // 212, 51<a name="line.247"></a>
 <span class="sourceLineNo">248</span>        jamonWriter.write("&lt;/td&gt;\n            &lt;td&gt;");<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        // 212, 17<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(percentDone), jamonWriter);<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        // 212, 34<a name="line.251"></a>
-<span class="sourceLineNo">252</span>        jamonWriter.write("&lt;/td&gt;\n            ");<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      // 213, 19<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      jamonWriter.write("\n        &lt;/tr&gt;\n        ");<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    }<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    // 215, 16<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    jamonWriter.write("\n    &lt;/table&gt;\n");<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  <a name="line.260"></a>
-<span class="sourceLineNo">261</span>  <a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // 84, 1<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  private void __jamon_innerUnit__baseInfo(final java.io.Writer jamonWriter, final List&lt;HRegionInfo&gt; onlineRegions)<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    throws java.io.IOException<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    // 88, 5<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n        &lt;tr&gt;\n            &lt;th&gt;Region Name&lt;/th&gt;\n            &lt;th&gt;Start Key&lt;/th&gt;\n            &lt;th&gt;End Key&lt;/th&gt;\n            &lt;th&gt;ReplicaID&lt;/th&gt;\n        &lt;/tr&gt;\n\n        ");<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    // 96, 9<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    for (HRegionInfo r: onlineRegions )<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      // 96, 46<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      jamonWriter.write("\n        &lt;tr&gt;\n            ");<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      // 98, 13<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      <a name="line.274"></a>
-<span class="sourceLineNo">275</span>             String displayName = HRegionInfo.getRegionNameAsStringForDisplay(r,<a name="line.275"></a>
-<span class="sourceLineNo">276</span>               regionServer.getConfiguration());<a name="line.276"></a>
-<span class="sourceLineNo">277</span>            <a name="line.277"></a>
-<span class="sourceLineNo">278</span>      // 102, 13<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      jamonWriter.write("&lt;td&gt;&lt;a href=\"region.jsp?name=");<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // 102, 42<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getEncodedName()), jamonWriter);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      // 102, 66<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      jamonWriter.write("\"&gt;");<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      // 102, 68<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(displayName), jamonWriter);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      // 102, 85<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      jamonWriter.write("&lt;/a&gt;&lt;/td&gt;\n            &lt;td&gt;");<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      // 103, 17<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(Bytes.toStringBinary(HRegionInfo.getStartKeyForDisplay(r,<a name="line.289"></a>
-<span class="sourceLineNo">290</span>                                        regionServer.getConfiguration()))), jamonWriter);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      // 104, 77<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      jamonWriter.write("&lt;/td&gt;\n            &lt;td&gt;");<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      // 105, 17<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(Bytes.toStringBinary(HRegionInfo.getEndKeyForDisplay(r,<a name="line.294"></a>
-<span class="sourceLineNo">295</span>                                        regionServer.getConfiguration()))), jamonWriter);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      // 106, 77<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      jamonWriter.write("&lt;/td&gt;\n            &lt;td&gt;");<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      // 107, 17<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getReplicaId()), jamonWriter);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      // 107, 39<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      jamonWriter.write("&lt;/td&gt;\n        &lt;/tr&gt;\n        ");<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    // 109, 16<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    jamonWriter.write("\n    &lt;/table&gt;\n");<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  <a name="line.306"></a>
-<span class="sourceLineNo">307</span>  <a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // 143, 1<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  private void __jamon_innerUnit__storeStats(final java.io.Writer jamonWriter, final List&lt;HRegionInfo&gt; onlineRegions)<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    throws java.io.IOException<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  {<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    // 147, 5<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n        &lt;tr&gt;\n            &lt;th&gt;Region Name&lt;/th&gt;\n            &lt;th&gt;Num. Stores&lt;/th&gt;\n            &lt;th&gt;Num. Storefiles&lt;/th&gt;\n            &lt;th&gt;Storefile Size Uncompressed&lt;/th&gt;\n            &lt;th&gt;Storefile Size&lt;/th&gt;\n            &lt;th&gt;Index Size&lt;/th&gt;\n            &lt;th&gt;Bloom Size&lt;/th&gt;\n            &lt;th&gt;Data Locality&lt;/th&gt;\n        &lt;/tr&gt;\n\n        ");<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    // 159, 9<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    for (HRegionInfo r: onlineRegions )<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      // 159, 46<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      jamonWriter.write("\n\n        &lt;tr&gt;\n        ");<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      // 162, 9<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      <a name="line.320"></a>
-<span class="sourceLineNo">321</span>            RegionLoad load = regionServer.createRegionLoad(r.getEncodedName());<a name="line.321"></a>
-<span class="sourceLineNo">322</span>            String displayName = HRegionInfo.getRegionNameAsStringForDisplay(r,<a name="line.322"></a>
-<span class="sourceLineNo">323</span>              regionServer.getConfiguration());<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        <a name="line.324"></a>
-<span class="sourceLineNo">325</span>      // 167, 13<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      jamonWriter.write("&lt;td&gt;&lt;a href=\"region.jsp?name=");<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      // 167, 42<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getEncodedName()), jamonWriter);<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      // 167, 66<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      jamonWriter.write("\"&gt;");<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      // 167, 68<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(displayName), jamonWriter);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      // 167, 85<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      jamonWriter.write("&lt;/a&gt;&lt;/td&gt;\n            ");<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      // 168, 13<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      if (load != null )<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        // 168, 33<a name="line.338"></a>
-<span class="sourceLineNo">339</span>        jamonWriter.write("\n            &lt;td&gt;");<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        // 169, 17<a name="line.340"></a>
-<span class="sourceLineNo">341</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getStores()), jamonWriter);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>        // 169, 39<a name="line.342"></a>
-<span class="sourceLineNo">343</span>        jamonWriter.write("&lt;/td&gt;\n            &lt;td&gt;");<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        // 170, 17<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getStorefiles()), jamonWriter);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>        // 170, 43<a name="line.346"></a>
+<span class="sourceLineNo">249</span>        // 213, 17<a name="line.249"></a>
+<span class="sourceLineNo">250</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getCurrentCompactedKVs()), jamonWriter);<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        // 213, 52<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        jamonWriter.write("&lt;/td&gt;\n            &lt;td&gt;");<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        // 214, 17<a name="line.253"></a>
+<span class="sourceLineNo">254</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(percentDone), jamonWriter);<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        // 214, 34<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        jamonWriter.write("&lt;/td&gt;\n            ");<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      }<a name="line.257"></a>
+<span class="sourceLineNo">258</span>      // 215, 19<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      jamonWriter.write("\n        &lt;/tr&gt;\n        ");<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    }<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    // 217, 16<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    jamonWriter.write("\n    &lt;/table&gt;\n");<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  }<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  <a name="line.264"></a>
+<span class="sourceLineNo">265</span>  <a name="line.265"></a>
+<span class="sourceLineNo">266</span>  // 84, 1<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  private void __jamon_innerUnit__baseInfo(final java.io.Writer jamonWriter, final List&lt;HRegionInfo&gt; onlineRegions)<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    throws java.io.IOException<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    // 88, 5<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n        &lt;tr&gt;\n            &lt;th&gt;Region Name&lt;/th&gt;\n            &lt;th&gt;Start Key&lt;/th&gt;\n            &lt;th&gt;End Key&lt;/th&gt;\n            &lt;th&gt;ReplicaID&lt;/th&gt;\n        &lt;/tr&gt;\n\n        ");<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    // 96, 9<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    for (HRegionInfo r: onlineRegions )<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      // 96, 46<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      jamonWriter.write("\n        &lt;tr&gt;\n            ");<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      // 98, 13<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      <a name="line.278"></a>
+<span class="sourceLineNo">279</span>             String displayName = HRegionInfo.getRegionNameAsStringForDisplay(r,<a name="line.279"></a>
+<span class="sourceLineNo">280</span>               regionServer.getConfiguration());<a name="line.280"></a>
+<span class="sourceLineNo">281</span>            <a name="line.281"></a>
+<span class="sourceLineNo">282</span>      // 102, 13<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      jamonWriter.write("&lt;td&gt;&lt;a href=\"region.jsp?name=");<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      // 102, 42<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getEncodedName()), jamonWriter);<a name="line.285"></a>
+<span class="sourceLineNo">286</span>      // 102, 66<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      jamonWriter.write("\"&gt;");<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      // 102, 68<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(displayName), jamonWriter);<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      // 102, 85<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      jamonWriter.write("&lt;/a&gt;&lt;/td&gt;\n            &lt;td&gt;");<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      // 103, 17<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(Bytes.toStringBinary(HRegionInfo.getStartKeyForDisplay(r,<a name="line.293"></a>
+<span class="sourceLineNo">294</span>                                        regionServer.getConfiguration()))), jamonWriter);<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      // 104, 77<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      jamonWriter.write("&lt;/td&gt;\n            &lt;td&gt;");<a name="line.296"></a>
+<span class="sourceLineNo">297</span>      // 105, 17<a name="line.297"></a>
+<span class="sourceLineNo">298</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(Bytes.toStringBinary(HRegionInfo.getEndKeyForDisplay(r,<a name="line.298"></a>
+<span class="sourceLineNo">299</span>                                        regionServer.getConfiguration()))), jamonWriter);<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      // 106, 77<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      jamonWriter.write("&lt;/td&gt;\n            &lt;td&gt;");<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      // 107, 17<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getReplicaId()), jamonWriter);<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      // 107, 39<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      jamonWriter.write("&lt;/td&gt;\n        &lt;/tr&gt;\n        ");<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    }<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    // 109, 16<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    jamonWriter.write("\n    &lt;/table&gt;\n");<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  }<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  <a name="line.310"></a>
+<span class="sourceLineNo">311</span>  <a name="line.311"></a>
+<span class="sourceLineNo">312</span>  // 145, 1<a name="line.312"></a>
+<span class="sourceLineNo">313</span>  private void __jamon_innerUnit__storeStats(final java.io.Writer jamonWriter, final List&lt;HRegionInfo&gt; onlineRegions)<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    throws java.io.IOException<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    // 149, 5<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    jamonWriter.write("&lt;table class=\"table table-striped\"&gt;\n        &lt;tr&gt;\n            &lt;th&gt;Region Name&lt;/th&gt;\n            &lt;th&gt;Num. Stores&lt;/th&gt;\n            &lt;th&gt;Num. Storefiles&lt;/th&gt;\n            &lt;th&gt;Storefile Size Uncompressed&lt;/th&gt;\n            &lt;th&gt;Storefile Size&lt;/th&gt;\n            &lt;th&gt;Index Size&lt;/th&gt;\n            &lt;th&gt;Bloom Size&lt;/th&gt;\n            &lt;th&gt;Data Locality&lt;/th&gt;\n        &lt;/tr&gt;\n\n        ");<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    // 161, 9<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    for (HRegionInfo r: onlineRegions )<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      // 161, 46<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      jamonWriter.write("\n\n        &lt;tr&gt;\n        ");<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      // 164, 9<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      <a name="line.324"></a>
+<span class="sourceLineNo">325</span>            RegionLoad load = regionServer.createRegionLoad(r.getEncodedName());<a name="line.325"></a>
+<span class="sourceLineNo">326</span>            String displayName = HRegionInfo.getRegionNameAsStringForDisplay(r,<a name="line.326"></a>
+<span class="sourceLineNo">327</span>              regionServer.getConfiguration());<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        <a name="line.328"></a>
+<span class="sourceLineNo">329</span>      // 169, 13<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      jamonWriter.write("&lt;td&gt;&lt;a href=\"region.jsp?name=");<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      // 169, 42<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getEncodedName()), jamonWriter);<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      // 169, 66<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      jamonWriter.write("\"&gt;");<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      // 169, 68<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(displayName), jamonWriter);<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      // 169, 85<a name="line.337"></a>
+<span class="sourceLineNo">338</span>      jamonWriter.write("&lt;/a&gt;&lt;/td&gt;\n            ");<a name="line.338"></a>
+<span class="sourceLineNo">339</span>      // 170, 13<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      if (load != null )<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        // 170, 33<a name="line.342"></a>
+<span class="sourceLineNo">343</span>        jamonWriter.write("\n            &lt;td&gt;");<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        // 171, 17<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getStores()), jamonWriter);<a name="line.345"></a>
+<span class="sourceLineNo">346</span>        // 171, 39<a name="line.346"></a>
 <span class="sourceLineNo">347</span>        jamonWriter.write("&lt;/td&gt;\n            &lt;td&gt;");<a name="line.347"></a>
-<span class="sourceLineNo">348</span>        // 171, 17<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getStoreUncompressedSizeMB()), jamonWriter);<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        // 171, 56<a name="line.350"></a>
-<span class="sourceLineNo">351</span>        jamonWriter.write("m&lt;/td&gt;\n            &lt;td&gt;");<a name="line.351"></a>
-<span class="sourceLineNo">352</span>        // 172, 17<a name="line.352"></a>
-<span class="sourceLineNo">353</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getStorefileSizeMB()), jamonWriter);<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        // 172, 48<a name="line.354"></a>
+<span class="sourceLineNo">348</span>        // 172, 17<a name="line.348"></a>
+<span class="sourceLineNo">349</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getStorefiles()), jamonWriter);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        // 172, 43<a name="line.350"></a>
+<span class="sourceLineNo">351</span>        jamonWriter.write("&lt;/td&gt;\n            &lt;td&gt;");<a name="line.351"></a>
+<span class="sourceLineNo">352</span>        // 173, 17<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getStoreUncompressedSizeMB()), jamonWriter);<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        // 173, 56<a name="line.354"></a>
 <span class="sourceLineNo">355</span>        jamonWriter.write("m&lt;/td&gt;\n            &lt;td&gt;");<a name="line.355"></a>
-<span class="sourceLineNo">356</span>        // 173, 17<a name="line.356"></a>
-<span class="sourceLineNo">357</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getTotalStaticIndexSizeKB()), jamonWriter);<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        // 173, 55<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        jamonWriter.write("k&lt;/td&gt;\n            &lt;td&gt;");<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        // 174, 17<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getTotalStaticBloomSizeKB()), jamonWriter);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        // 174, 55<a name="line.362"></a>
+<span class="sourceLineNo">356</span>        // 174, 17<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getStorefileSizeMB()), jamonWriter);<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        // 174, 48<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        jamonWriter.write("m&lt;/td&gt;\n            &lt;td&gt;");<a name="line.359"></a>
+<span class="sourceLineNo">360</span>        // 175, 17<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getTotalStaticIndexSizeKB()), jamonWriter);<a name="line.361"></a>
+<span class="sourceLineNo">362</span>        // 175, 55<a name="line.362"></a>
 <span class="sourceLineNo">363</span>        jamonWriter.write("k&lt;/td&gt;\n            &lt;td&gt;");<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        // 175, 17<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getDataLocality()), jamonWriter);<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        // 175, 45<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        jamonWriter.write("&lt;/td&gt;\n            ");<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      // 176, 19<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      jamonWriter.write("\n        &lt;/tr&gt;\n        ");<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    }<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // 178, 16<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    jamonWriter.write("\n    &lt;/table&gt;\n");<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  }<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  <a name="line.375"></a>
-<span class="sourceLineNo">376</span>  <a name="line.376"></a>
-<span class="sourceLineNo">377</span>}<a name="line.377"></a>
+<span class="sourceLineNo">364</span>        // 176, 17<a name="line.364"></a>
+<span class="sourceLineNo">365</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getTotalStaticBloomSizeKB()), jamonWriter);<a name="line.365"></a>
+<span class="sourceLineNo">366</span>        // 176, 55<a name="line.366"></a>
+<span class="sourceLineNo">367</span>        jamonWriter.write("k&lt;/td&gt;\n            &lt;td&gt;");<a name="line.367"></a>
+<span class="sourceLineNo">368</span>        // 177, 17<a name="line.368"></a>
+<span class="sourceLineNo">369</span>        org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getDataLocality()), jamonWriter);<a name="line.369"></a>
+<span class="sourceLineNo">370</span>        // 177, 45<a name="line.370"></a>
+<span class="sourceLineNo">371</span>        jamonWriter.write("&lt;/td&gt;\n            ");<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      }<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      // 178, 19<a name="line.373"></a>
+<span class="sourceLineNo">374</span>      jamonWriter.write("\n        &lt;/tr&gt;\n        ");<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    }<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    // 180, 16<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    jamonWriter.write("\n    &lt;/table&gt;\n");<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  }<a name="line.378"></a>
+<span class="sourceLineNo">379</span>  <a name="line.379"></a>
+<span class="sourceLineNo">380</span>  <a name="line.380"></a>
+<span class="sourceLineNo">381</span>}<a name="line.381"></a>
 
 
 


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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
index e5bf586..aaf26d9 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
@@ -146,8 +146,8 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">DisableTableProcedure.MarkRegionOfflineOpResult</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">ServerProcedureInterface.ServerOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">TableProcedureInterface.TableOperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="strong">ServerProcedureInterface.ServerOperationType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/package-tree.html b/devapidocs/org/apache/hadoop/hbase/package-tree.html
index 0e00304..ce7401d 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -361,14 +361,14 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="strong">KeyValue.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="strong">KeepDeletedCells</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="strong">HConstants.OperationStatusCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="strong">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="strong">HealthChecker.HealthCheckerExitStatus</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="strong">KeepDeletedCells</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="strong">Coprocessor.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="strong">MetaTableAccessor.QueryType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.Modify.html" title="enum in org.apache.hadoop.hbase"><span class="strong">HConstants.Modify</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="strong">KeyValue.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="strong">MetaTableAccessor.QueryType</span></a></li>
 </ul>
 </li>
 </ul>

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

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
index 27f243b..6bdad43 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.437">HRegion.FlushResultImpl</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.438">HRegion.FlushResultImpl</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a></pre>
 <div class="block">Objects from this class are created when flushing to describe all the different states that
@@ -259,7 +259,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>result</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.438">result</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.439">result</a></pre>
 </li>
 </ul>
 <a name="failureReason">
@@ -268,7 +268,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>failureReason</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.439">failureReason</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.440">failureReason</a></pre>
 </li>
 </ul>
 <a name="flushSequenceId">
@@ -277,7 +277,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>flushSequenceId</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.440">flushSequenceId</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.441">flushSequenceId</a></pre>
 </li>
 </ul>
 <a name="wroteFlushWalMarker">
@@ -286,7 +286,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockListLast">
 <li class="blockList">
 <h4>wroteFlushWalMarker</h4>
-<pre>final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.441">wroteFlushWalMarker</a></pre>
+<pre>final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.442">wroteFlushWalMarker</a></pre>
 </li>
 </ul>
 </li>
@@ -303,7 +303,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>HRegion.FlushResultImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.450">HRegion.FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.451">HRegion.FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;result,
                        long&nbsp;flushSequenceId)</pre>
 <div class="block">Convenience constructor to use when the flush is successful, the failure message is set to
  null.</div>
@@ -317,7 +317,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>HRegion.FlushResultImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.461">HRegion.FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.462">HRegion.FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;result,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;failureReason,
                        boolean&nbsp;wroteFlushMarker)</pre>
 <div class="block">Convenience constructor to use when we cannot flush.</div>
@@ -330,7 +330,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.FlushResultImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.472">HRegion.FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.473">HRegion.FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;result,
                        long&nbsp;flushSequenceId,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;failureReason,
                        boolean&nbsp;wroteFlushMarker)</pre>
@@ -352,7 +352,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>isFlushSucceeded</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.486">isFlushSucceeded</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.487">isFlushSucceeded</a>()</pre>
 <div class="block">Convenience method, the equivalent of checking if result is
  FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.</div>
 <dl>
@@ -367,7 +367,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>isCompactionNeeded</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.496">isCompactionNeeded</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.497">isCompactionNeeded</a>()</pre>
 <div class="block">Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -381,7 +381,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.501">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.502">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -394,7 +394,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.F
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getResult</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.509">getResult</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.FlushResult.Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.510">getResult</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html#getResult()">getResult</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a></code></dd>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
index ebec9a0..ef0977e 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.516">HRegion.PrepareFlushResult</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.517">HRegion.PrepareFlushResult</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">A result object from prepare flush cache stage</div>
 </li>
@@ -244,7 +244,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>result</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.517">result</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.518">result</a></pre>
 </li>
 </ul>
 <a name="storeFlushCtxs">
@@ -253,7 +253,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>storeFlushCtxs</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.518">storeFlushCtxs</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.519">storeFlushCtxs</a></pre>
 </li>
 </ul>
 <a name="committedFiles">
@@ -262,7 +262,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>committedFiles</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.519">committedFiles</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.520">committedFiles</a></pre>
 </li>
 </ul>
 <a name="storeFlushableSize">
@@ -271,7 +271,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>storeFlushableSize</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.520">storeFlushableSize</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.521">storeFlushableSize</a></pre>
 </li>
 </ul>
 <a name="startTime">
@@ -280,7 +280,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>startTime</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.521">startTime</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.522">startTime</a></pre>
 </li>
 </ul>
 <a name="flushOpSeqId">
@@ -289,7 +289,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>flushOpSeqId</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.522">flushOpSeqId</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.523">flushOpSeqId</a></pre>
 </li>
 </ul>
 <a name="flushedSeqId">
@@ -298,7 +298,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>flushedSeqId</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.523">flushedSeqId</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.524">flushedSeqId</a></pre>
 </li>
 </ul>
 <a name="totalFlushableSize">
@@ -307,7 +307,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>totalFlushableSize</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.524">totalFlushableSize</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.525">totalFlushableSize</a></pre>
 </li>
 </ul>
 </li>
@@ -324,7 +324,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>HRegion.PrepareFlushResult</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.527">HRegion.PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a>&nbsp;result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.528">HRegion.PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a>&nbsp;result,
                           long&nbsp;flushSeqId)</pre>
 <div class="block">Constructs an early exit case</div>
 </li>
@@ -335,7 +335,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>HRegion.PrepareFlushResult</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.532">HRegion.PrepareFlushResult</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt;&nbsp;storeFlushCtxs,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.533">HRegion.PrepareFlushResult</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt;&nbsp;storeFlushCtxs,
                           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;committedFiles,
                           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;storeFlushableSize,
                           long&nbsp;startTime,
@@ -351,7 +351,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion.PrepareFlushResult</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.541">HRegion.PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a>&nbsp;result,
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.542">HRegion.PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a>&nbsp;result,
                           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt;&nbsp;storeFlushCtxs,
                           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;committedFiles,
                           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;storeFlushableSize,
@@ -375,7 +375,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getResult</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.557">getResult</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.FlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.558">getResult</a>()</pre>
 </li>
 </ul>
 </li>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.html
index 5acbf19..365d061 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.html
@@ -193,523 +193,526 @@
 <span class="sourceLineNo">185</span>   */<a name="line.185"></a>
 <span class="sourceLineNo">186</span>  void updateReadRequestsCount(long i);<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  /** @return write request count for this region */<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  long getWriteRequestsCount();<a name="line.189"></a>
+<span class="sourceLineNo">188</span>  /** @return filtered read requests count for this region */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  long getFilteredReadRequestsCount();<a name="line.189"></a>
 <span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  /**<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   * Update the write request count for this region<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @param i increment<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   */<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  void updateWriteRequestsCount(long i);<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  /** @return memstore size for this region, in bytes */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  long getMemstoreSize();<a name="line.198"></a>
+<span class="sourceLineNo">191</span>  /** @return write request count for this region */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  long getWriteRequestsCount();<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  /**<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * Update the write request count for this region<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @param i increment<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  void updateWriteRequestsCount(long i);<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /** @return the number of mutations processed bypassing the WAL */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  long getNumMutationsWithoutWAL();<a name="line.201"></a>
+<span class="sourceLineNo">200</span>  /** @return memstore size for this region, in bytes */<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  long getMemstoreSize();<a name="line.201"></a>
 <span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /** @return the size of data processed bypassing the WAL, in bytes */<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  long getDataInMemoryWithoutWAL();<a name="line.204"></a>
+<span class="sourceLineNo">203</span>  /** @return the number of mutations processed bypassing the WAL */<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  long getNumMutationsWithoutWAL();<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  /** @return the number of blocked requests */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  long getBlockedRequestsCount();<a name="line.207"></a>
+<span class="sourceLineNo">206</span>  /** @return the size of data processed bypassing the WAL, in bytes */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  long getDataInMemoryWithoutWAL();<a name="line.207"></a>
 <span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /** @return the number of checkAndMutate guards that passed */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  long getCheckAndMutateChecksPassed();<a name="line.210"></a>
+<span class="sourceLineNo">209</span>  /** @return the number of blocked requests */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  long getBlockedRequestsCount();<a name="line.210"></a>
 <span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>  /** @return the number of failed checkAndMutate guards */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  long getCheckAndMutateChecksFailed();<a name="line.213"></a>
+<span class="sourceLineNo">212</span>  /** @return the number of checkAndMutate guards that passed */<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  long getCheckAndMutateChecksPassed();<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /** @return the MetricsRegion for this region */<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  MetricsRegion getMetrics();<a name="line.216"></a>
+<span class="sourceLineNo">215</span>  /** @return the number of failed checkAndMutate guards */<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  long getCheckAndMutateChecksFailed();<a name="line.216"></a>
 <span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  /** @return the block distribution for all Stores managed by this region */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  HDFSBlocksDistribution getHDFSBlocksDistribution();<a name="line.219"></a>
+<span class="sourceLineNo">218</span>  /** @return the MetricsRegion for this region */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  MetricsRegion getMetrics();<a name="line.219"></a>
 <span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  // Locking<a name="line.222"></a>
+<span class="sourceLineNo">221</span>  /** @return the block distribution for all Stores managed by this region */<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  HDFSBlocksDistribution getHDFSBlocksDistribution();<a name="line.222"></a>
 <span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>  // Region read locks<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  /**<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * Operation enum is used in {@link Region#startRegionOperation} and elsewhere to provide<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   * context for various checks.<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   */<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  enum Operation {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    ANY, GET, PUT, DELETE, SCAN, APPEND, INCREMENT, SPLIT_REGION, MERGE_REGION, BATCH_MUTATE,<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    REPLAY_BATCH_MUTATE, COMPACT_REGION, REPLAY_EVENT<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * This method needs to be called before any public call that reads or<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * modifies data.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * the operation has completed, whether it succeeded or failed.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @throws IOException<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  void startRegionOperation() throws IOException;<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /**<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * This method needs to be called before any public call that reads or<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * modifies data.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * the operation has completed, whether it succeeded or failed.<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @param op The operation is about to be taken on the region<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @throws IOException<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  void startRegionOperation(Operation op) throws IOException;<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * Closes the region operation lock.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  void closeRegionOperation() throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // Row write locks<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  /**<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   * Row lock held by a given thread.<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * One thread may acquire multiple locks on the same row simultaneously.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   * The locks must be released by calling release() from the same thread.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>   */<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  public interface RowLock {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    /**<a name="line.270"></a>
-<span class="sourceLineNo">271</span>     * Release the given lock.  If there are no remaining locks held by the current thread<a name="line.271"></a>
-<span class="sourceLineNo">272</span>     * then unlock the row and allow other threads to acquire the lock.<a name="line.272"></a>
-<span class="sourceLineNo">273</span>     * @throws IllegalArgumentException if called by a different thread than the lock owning<a name="line.273"></a>
-<span class="sourceLineNo">274</span>     *     thread<a name="line.274"></a>
-<span class="sourceLineNo">275</span>     */<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    void release();<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  }<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * Tries to acquire a lock on the given row.<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @param waitForLock if true, will block until the lock is available.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   *        Otherwise, just tries to obtain the lock and returns<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   *        false if unavailable.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @return the row lock if acquired,<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   *   null if waitForLock was false and the lock was not acquired<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @throws IOException if waitForLock was true and the lock could not be acquired after waiting<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  RowLock getRowLock(byte[] row, boolean waitForLock) throws IOException;<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  /**<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * If the given list of row locks is not null, releases all locks.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  void releaseRowLocks(List&lt;RowLock&gt; rowLocks);<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  // Region operations<a name="line.296"></a>
+<span class="sourceLineNo">224</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  // Locking<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  // Region read locks<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * Operation enum is used in {@link Region#startRegionOperation} and elsewhere to provide<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * context for various checks.<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  enum Operation {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    ANY, GET, PUT, DELETE, SCAN, APPEND, INCREMENT, SPLIT_REGION, MERGE_REGION, BATCH_MUTATE,<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    REPLAY_BATCH_MUTATE, COMPACT_REGION, REPLAY_EVENT<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  /**<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * This method needs to be called before any public call that reads or<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * modifies data.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * the operation has completed, whether it succeeded or failed.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @throws IOException<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   */<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  void startRegionOperation() throws IOException;<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>  /**<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   * This method needs to be called before any public call that reads or<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * modifies data.<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * the operation has completed, whether it succeeded or failed.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @param op The operation is about to be taken on the region<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @throws IOException<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  void startRegionOperation(Operation op) throws IOException;<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>  /**<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * Closes the region operation lock.<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   * @throws IOException<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  void closeRegionOperation() throws IOException;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  // Row write locks<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * Row lock held by a given thread.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * One thread may acquire multiple locks on the same row simultaneously.<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * The locks must be released by calling release() from the same thread.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  public interface RowLock {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    /**<a name="line.273"></a>
+<span class="sourceLineNo">274</span>     * Release the given lock.  If there are no remaining locks held by the current thread<a name="line.274"></a>
+<span class="sourceLineNo">275</span>     * then unlock the row and allow other threads to acquire the lock.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>     * @throws IllegalArgumentException if called by a different thread than the lock owning<a name="line.276"></a>
+<span class="sourceLineNo">277</span>     *     thread<a name="line.277"></a>
+<span class="sourceLineNo">278</span>     */<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    void release();<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Tries to acquire a lock on the given row.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * @param waitForLock if true, will block until the lock is available.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   *        Otherwise, just tries to obtain the lock and returns<a name="line.285"></a>
+<span class="sourceLineNo">286</span>   *        false if unavailable.<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * @return the row lock if acquired,<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   *   null if waitForLock was false and the lock was not acquired<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * @throws IOException if waitForLock was true and the lock could not be acquired after waiting<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  RowLock getRowLock(byte[] row, boolean waitForLock) throws IOException;<a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * If the given list of row locks is not null, releases all locks.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  void releaseRowLocks(List&lt;RowLock&gt; rowLocks);<a name="line.296"></a>
 <span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * Perform one or more append operations on a row.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param append<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @param nonceGroup<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * @param nonce<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @return result of the operation<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @throws IOException<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  Result append(Append append, long nonceGroup, long nonce) throws IOException;<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * Perform a batch of mutations.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * &lt;p&gt;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Note this supports only Put and Delete mutations and will ignore other types passed.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * @param mutations the list of mutations<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * @param nonceGroup<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * @param nonce<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * @return an array of OperationStatus which internally contains the<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * @throws IOException<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   */<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  OperationStatus[] batchMutate(Mutation[] mutations, long nonceGroup, long nonce)<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      throws IOException;<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * Replay a batch of mutations.<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param mutations mutations to replay.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @param replaySeqId<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * @return an array of OperationStatus which internally contains the<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * @throws IOException<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   */<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   OperationStatus[] batchReplay(MutationReplay[] mutations, long replaySeqId) throws IOException;<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * Atomically checks if a row/family/qualifier value matches the expected value and if it does,<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * it performs the mutation. If the passed value is null, the lack of column value<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * (ie: non-existence) is used. See checkAndRowMutate to do many checkAndPuts at a time on a<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * single row.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * @param row to check<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   * @param family column family to check<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @param qualifier column qualifier to check<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param compareOp the comparison operator<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @param comparator<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @param mutation<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * @param writeToWAL<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * @return true if mutation was applied, false otherwise<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   * @throws IOException<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   */<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  boolean checkAndMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      ByteArrayComparable comparator, Mutation mutation, boolean writeToWAL) throws IOException;<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   * Atomically checks if a row/family/qualifier value matches the expected values and if it does,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>   * it performs the row mutations. If the passed value is null, the lack of column value<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * (ie: non-existence) is used. Use to do many mutations on a single row. Use checkAndMutate<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   * to do one checkAndMutate at a time.<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * @param row to check<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * @param family column family to check<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * @param qualifier column qualifier to check<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * @param compareOp the comparison operator<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * @param comparator<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param mutations<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param writeToWAL<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return true if mutations were applied, false otherwise<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @throws IOException<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   */<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  boolean checkAndRowMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      ByteArrayComparable comparator, RowMutations mutations, boolean writeToWAL)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throws IOException;<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>  /**<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * Deletes the specified cells/row.<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @param delete<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @throws IOException<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  void delete(Delete delete) throws IOException;<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  /**<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * Do a get based on the get parameter.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * @param get query parameters<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @return result of the operation<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   */<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  Result get(Get get) throws IOException;<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  /**<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   * Do a get based on the get parameter.<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * @param get query parameters<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * @param withCoprocessor invoke coprocessor or not. We don't want to<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * always invoke cp.<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * @return list of cells resulting from the operation<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  List&lt;Cell&gt; get(Get get, boolean withCoprocessor) throws IOException;<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span>  /**<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * Return an iterator that scans over the HRegion, returning the indicated<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * columns and rows specified by the {@link Scan}.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * &lt;p&gt;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * This Iterator must be closed by the caller.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   *<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * @param scan configured {@link Scan}<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * @return RegionScanner<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @throws IOException read exceptions<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  RegionScanner getScanner(Scan scan) throws IOException;<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>   * Return an iterator that scans over the HRegion, returning the indicated columns and rows<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * specified by the {@link Scan}. The scanner will also include the additional scanners passed<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * along with the scanners for the specified Scan instance. Should be careful with the usage to<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * pass additional scanners only within this Region<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * &lt;p&gt;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * This Iterator must be closed by the caller.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   *<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * @param scan configured {@link Scan}<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * @param additionalScanners Any additional scanners to be used<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * @return RegionScanner<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * @throws IOException read exceptions<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   */<a name="line.416"></a>
-<span class="sourceLineNo">417</span>  RegionScanner getScanner(Scan scan, List&lt;KeyValueScanner&gt; additionalScanners) throws IOException;<a name="line.417"></a>
-<span class="sourceLineNo">418</span><a name="line.418"></a>
-<span class="sourceLineNo">419</span>  /** The comparator to be used with the region */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  CellComparator getCellCompartor();<a name="line.420"></a>
+<span class="sourceLineNo">298</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  // Region operations<a name="line.299"></a>
+<span class="sourceLineNo">300</span><a name="line.300"></a>
+<span class="sourceLineNo">301</span>  /**<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   * Perform one or more append operations on a row.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   * @param append<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   * @param nonceGroup<a name="line.304"></a>
+<span class="sourceLineNo">305</span>   * @param nonce<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * @return result of the operation<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * @throws IOException<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   */<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  Result append(Append append, long nonceGroup, long nonce) throws IOException;<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>  /**<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * Perform a batch of mutations.<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * &lt;p&gt;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * Note this supports only Put and Delete mutations and will ignore other types passed.<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @param mutations the list of mutations<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * @param nonceGroup<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   * @param nonce<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * @return an array of OperationStatus which internally contains the<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.319"></a>
+<span class="sourceLineNo">320</span>   * @throws IOException<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   */<a name="line.321"></a>
+<span class="sourceLineNo">322</span>  OperationStatus[] batchMutate(Mutation[] mutations, long nonceGroup, long nonce)<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      throws IOException;<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  /**<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * Replay a batch of mutations.<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @param mutations mutations to replay.<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * @param replaySeqId<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   * @return an array of OperationStatus which internally contains the<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * @throws IOException<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   OperationStatus[] batchReplay(MutationReplay[] mutations, long replaySeqId) throws IOException;<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * Atomically checks if a row/family/qualifier value matches the expected value and if it does,<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * it performs the mutation. If the passed value is null, the lack of column value<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * (ie: non-existence) is used. See checkAndRowMutate to do many checkAndPuts at a time on a<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * single row.<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @param row to check<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * @param family column family to check<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * @param qualifier column qualifier to check<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   * @param compareOp the comparison operator<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * @param comparator<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * @param mutation<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   * @param writeToWAL<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   * @return true if mutation was applied, false otherwise<a name="line.347"></a>
+<span class="sourceLineNo">348</span>   * @throws IOException<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   */<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  boolean checkAndMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      ByteArrayComparable comparator, Mutation mutation, boolean writeToWAL) throws IOException;<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>  /**<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   * Atomically checks if a row/family/qualifier value matches the expected values and if it does,<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * it performs the row mutations. If the passed value is null, the lack of column value<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   * (ie: non-existence) is used. Use to do many mutations on a single row. Use checkAndMutate<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   * to do one checkAndMutate at a time.<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   * @param row to check<a name="line.358"></a>
+<span class="sourceLineNo">359</span>   * @param family column family to check<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   * @param qualifier column qualifier to check<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * @param compareOp the comparison operator<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * @param comparator<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * @param mutations<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * @param writeToWAL<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @return true if mutations were applied, false otherwise<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @throws IOException<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  boolean checkAndRowMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      ByteArrayComparable comparator, RowMutations mutations, boolean writeToWAL)<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      throws IOException;<a name="line.370"></a>
+<span class="sourceLineNo">371</span><a name="line.371"></a>
+<span class="sourceLineNo">372</span>  /**<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * Deletes the specified cells/row.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * @param delete<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * @throws IOException<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   */<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  void delete(Delete delete) throws IOException;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>  /**<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * Do a get based on the get parameter.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * @param get query parameters<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @return result of the operation<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   */<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  Result get(Get get) throws IOException;<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  /**<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * Do a get based on the get parameter.<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   * @param get query parameters<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * @param withCoprocessor invoke coprocessor or not. We don't want to<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * always invoke cp.<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   * @return list of cells resulting from the operation<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   */<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  List&lt;Cell&gt; get(Get get, boolean withCoprocessor) throws IOException;<a name="line.393"></a>
+<span class="sourceLineNo">394</span><a name="line.394"></a>
+<span class="sourceLineNo">395</span>  /**<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * Return an iterator that scans over the HRegion, returning the indicated<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   * columns and rows specified by the {@link Scan}.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * &lt;p&gt;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * This Iterator must be closed by the caller.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   *<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * @param scan configured {@link Scan}<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * @return RegionScanner<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   * @throws IOException read exceptions<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   */<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  RegionScanner getScanner(Scan scan) throws IOException;<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  /**<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * Return an iterator that scans over the HRegion, returning the indicated columns and rows<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * specified by the {@link Scan}. The scanner will also include the additional scanners passed<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * along with the scanners for the specified Scan instance. Should be careful with the usage to<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * pass additional scanners only within this Region<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   * &lt;p&gt;<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * This Iterator must be closed by the caller.<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   *<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   * @param scan configured {@link Scan}<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * @param additionalScanners Any additional scanners to be used<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * @return RegionScanner<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @throws IOException read exceptions<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  RegionScanner getScanner(Scan scan, List&lt;KeyValueScanner&gt; additionalScanners) throws IOException;<a name="line.420"></a>
 <span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  /**<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   * Perform one or more increment operations on a row.<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * @param increment<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * @param nonceGroup<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param nonce<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @return result of the operation<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @throws IOException<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  Result increment(Increment increment, long nonceGroup, long nonce) throws IOException;<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Performs multiple mutations atomically on a single row. Currently<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * {@link Put} and {@link Delete} are supported.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   *<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * @param mutations object that specifies the set of mutations to perform atomically<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * @throws IOException<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   */<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  void mutateRow(RowMutations mutations) throws IOException;<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>   * Perform atomic mutations within the region.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   *<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * @param mutations The list of mutations to perform.<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * &lt;code&gt;mutations&lt;/code&gt; can contain operations for multiple rows.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Caller has to ensure that all rows are contained in this region.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * @param rowsToLock Rows to lock<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   * If multiple rows are locked care should be taken that<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   * &lt;code&gt;rowsToLock&lt;/code&gt; is sorted in order to avoid deadlocks.<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   * @throws IOException<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   */<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  void mutateRowsWithLocks(Collection&lt;Mutation&gt; mutations, Collection&lt;byte[]&gt; rowsToLock,<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      long nonceGroup, long nonce) throws IOException;<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>   * Performs atomic multiple reads and writes on a given row.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   *<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * @param processor The object defines the reads and writes to a row.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   */<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor) throws IOException;<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>  /**<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   *<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * @param processor The object defines the reads and writes to a row.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long nonceGroup, long nonce)<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      throws IOException;<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>  /**<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   *<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * @param processor The object defines the reads and writes to a row.<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @param timeout The timeout of the processor.process() execution<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   *                Use a negative number to switch off the time bound<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long timeout, long nonceGroup, long nonce)<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      throws IOException;<a name="line.484"></a>
-<span class="sourceLineNo">485</span><a name="line.485"></a>
-<span class="sourceLineNo">486</span>  /**<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * Puts some data in the table.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @param put<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * @throws IOException<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   */<a name="line.490"></a>
-<span class="sourceLineNo">491</span>  void put(Put put) throws IOException;<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>  /**<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * Listener class to enable callers of<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * bulkLoadHFile() to perform any necessary<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   * pre/post processing of a given bulkload call<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   */<a name="line.497"></a>
-<span class="sourceLineNo">498</span>  interface BulkLoadListener {<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>     * Called before an HFile is actually loaded<a name="line.501"></a>
-<span class="sourceLineNo">502</span>     * @param family family being loaded to<a name="line.502"></a>
-<span class="sourceLineNo">503</span>     * @param srcPath path of HFile<a name="line.503"></a>
-<span class="sourceLineNo">504</span>     * @return final path to be used for actual loading<a name="line.504"></a>
-<span class="sourceLineNo">505</span>     * @throws IOException<a name="line.505"></a>
-<span class="sourceLineNo">506</span>     */<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    String prepareBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>    /**<a name="line.509"></a>
-<span class="sourceLineNo">510</span>     * Called after a successful HFile load<a name="line.510"></a>
-<span class="sourceLineNo">511</span>     * @param family family being loaded to<a name="line.511"></a>
-<span class="sourceLineNo">512</span>     * @param srcPath path of HFile<a name="line.512"></a>
-<span class="sourceLineNo">513</span>     * @throws IOException<a name="line.513"></a>
-<span class="sourceLineNo">514</span>     */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    void doneBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    /**<a name="line.517"></a>
-<span class="sourceLineNo">518</span>     * Called after a failed HFile load<a name="line.518"></a>
-<span class="sourceLineNo">519</span>     * @param family family being loaded to<a name="line.519"></a>
-<span class="sourceLineNo">520</span>     * @param srcPath path of HFile<a name="line.520"></a>
-<span class="sourceLineNo">521</span>     * @throws IOException<a name="line.521"></a>
-<span class="sourceLineNo">522</span>     */<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    void failedBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>  }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>  /**<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * Attempts to atomically load a group of hfiles.  This is critical for loading<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * rows with multiple column families atomically.<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   *<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param familyPaths List of Pair&amp;lt;byte[] column family, String hfilePath&amp;gt;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param bulkLoadListener Internal hooks enabling massaging/preparation of a<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * file about to be bulk loaded<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @param assignSeqId<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   * @return true if successful, false if failed recoverably<a name="line.534"></a>
-<span class="sourceLineNo">535</span>   * @throws IOException if failed unrecoverably.<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   */<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  boolean bulkLoadHFiles(Collection&lt;Pair&lt;byte[], String&gt;&gt; familyPaths, boolean assignSeqId,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      BulkLoadListener bulkLoadListener) throws IOException;<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.540"></a>
-<span class="sourceLineNo">541</span>  // Coprocessors<a name="line.541"></a>
+<span class="sourceLineNo">422</span>  /** The comparator to be used with the region */<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  CellComparator getCellCompartor();<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>  /**<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * Perform one or more increment operations on a row.<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * @param increment<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * @param nonceGroup<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * @param nonce<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * @return result of the operation<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * @throws IOException<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   */<a name="line.432"></a>
+<span class="sourceLineNo">433</span>  Result increment(Increment increment, long nonceGroup, long nonce) throws IOException;<a name="line.433"></a>
+<span class="sourceLineNo">434</span><a name="line.434"></a>
+<span class="sourceLineNo">435</span>  /**<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * Performs multiple mutations atomically on a single row. Currently<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * {@link Put} and {@link Delete} are supported.<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   *<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   * @param mutations object that specifies the set of mutations to perform atomically<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   * @throws IOException<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   */<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  void mutateRow(RowMutations mutations) throws IOException;<a name="line.442"></a>
+<span class="sourceLineNo">443</span><a name="line.443"></a>
+<span class="sourceLineNo">444</span>  /**<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * Perform atomic mutations within the region.<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   *<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   * @param mutations The list of mutations to perform.<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   * &lt;code&gt;mutations&lt;/code&gt; can contain operations for multiple rows.<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   * Caller has to ensure that all rows are contained in this region.<a name="line.449"></a>
+<span class="sourceLineNo">450</span>   * @param rowsToLock Rows to lock<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.451"></a>
+<span class="sourceLineNo">452</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * If multiple rows are locked care should be taken that<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * &lt;code&gt;rowsToLock&lt;/code&gt; is sorted in order to avoid deadlocks.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   * @throws IOException<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   */<a name="line.456"></a>
+<span class="sourceLineNo">457</span>  void mutateRowsWithLocks(Collection&lt;Mutation&gt; mutations, Collection&lt;byte[]&gt; rowsToLock,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      long nonceGroup, long nonce) throws IOException;<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>   * Performs atomic multiple reads and writes on a given row.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   *<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   * @param processor The object defines the reads and writes to a row.<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   */<a name="line.464"></a>
+<span class="sourceLineNo">465</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor) throws IOException;<a name="line.465"></a>
+<span class="sourceLineNo">466</span><a name="line.466"></a>
+<span class="sourceLineNo">467</span>  /**<a name="line.467"></a>
+<span class="sourceLineNo">468</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.468"></a>
+<span class="sourceLineNo">469</span>   *<a name="line.469"></a>
+<span class="sourceLineNo">470</span>   * @param processor The object defines the reads and writes to a row.<a name="line.470"></a>
+<span class="sourceLineNo">471</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   */<a name="line.473"></a>
+<span class="sourceLineNo">474</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long nonceGroup, long nonce)<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      throws IOException;<a name="line.475"></a>
+<span class="sourceLineNo">476</span><a name="line.476"></a>
+<span class="sourceLineNo">477</span>  /**<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   *<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * @param processor The object defines the reads and writes to a row.<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   * @param timeout The timeout of the processor.process() execution<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   *                Use a negative number to switch off the time bound<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.483"></a>
+<span class="sourceLineNo">484</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.484"></a>
+<span class="sourceLineNo">485</span>   */<a name="line.485"></a>
+<span class="sourceLineNo">486</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long timeout, long nonceGroup, long nonce)<a name="line.486"></a>
+<span class="sourceLineNo">487</span>      throws IOException;<a name="line.487"></a>
+<span class="sourceLineNo">488</span><a name="line.488"></a>
+<span class="sourceLineNo">489</span>  /**<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * Puts some data in the table.<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * @param put<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * @throws IOException<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   */<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  void put(Put put) throws IOException;<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>  /**<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * Listener class to enable callers of<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * bulkLoadHFile() to perform any necessary<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * pre/post processing of a given bulkload call<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
+<span class="sourceLineNo">501</span>  interface BulkLoadListener {<a name="line.501"></a>
+<span class="sourceLineNo">502</span><a name="line.502"></a>
+<span class="sourceLineNo">503</span>    /**<a name="line.503"></a>
+<span class="sourceLineNo">504</span>     * Called before an HFile is actually loaded<a name="line.504"></a>
+<span class="sourceLineNo">505</span>     * @param family family being loaded to<a name="line.505"></a>
+<span class="sourceLineNo">506</span>     * @param srcPath path of HFile<a name="line.506"></a>
+<span class="sourceLineNo">507</span>     * @return final path to be used for actual loading<a name="line.507"></a>
+<span class="sourceLineNo">508</span>     * @throws IOException<a name="line.508"></a>
+<span class="sourceLineNo">509</span>     */<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    String prepareBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.510"></a>
+<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">512</span>    /**<a name="line.512"></a>
+<span class="sourceLineNo">513</span>     * Called after a successful HFile load<a name="line.513"></a>
+<span class="sourceLineNo">514</span>     * @param family family being loaded to<a name="line.514"></a>
+<span class="sourceLineNo">515</span>     * @param srcPath path of HFile<a name="line.515"></a>
+<span class="sourceLineNo">516</span>     * @throws IOException<a name="line.516"></a>
+<span class="sourceLineNo">517</span>     */<a name="line.517"></a>
+<span class="sourceLineNo">518</span>    void doneBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.518"></a>
+<span class="sourceLineNo">519</span><a name="line.519"></a>
+<span class="sourceLineNo">520</span>    /**<a name="line.520"></a>
+<span class="sourceLineNo">521</span>     * Called after a failed HFile load<a name="line.521"></a>
+<span class="sourceLineNo">522</span>     * @param family family being loaded to<a name="line.522"></a>
+<span class="sourceLineNo">523</span>     * @param srcPath path of HFile<a name="line.523"></a>
+<span class="sourceLineNo">524</span>     * @throws IOException<a name="line.524"></a>
+<span class="sourceLineNo">525</span>     */<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    void failedBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.526"></a>
+<span class="sourceLineNo">527</span>  }<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span>  /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * Attempts to atomically load a group of hfiles.  This is critical for loading<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   * rows with multiple column families atomically.<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   *<a name="line.532"></a>
+<span class="sourceLineNo">533</span>   * @param familyPaths List of Pair&amp;lt;byte[] column family, String hfilePath&amp;gt;<a name="line.533"></a>
+<span class="sourceLineNo">534</span>   * @param bulkLoadListener Internal hooks enabling massaging/preparation of a<a name="line.534"></a>
+<span class="sourceLineNo">535</span>   * file about to be bulk loaded<a name="line.535"></a>
+<span class="sourceLineNo">536</span>   * @param assignSeqId<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   * @return true if successful, false if failed recoverably<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @throws IOException if failed unrecoverably.<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   */<a name="line.539"></a>
+<span class="sourceLineNo">540</span>  boolean bulkLoadHFiles(Collection&lt;Pair&lt;byte[], String&gt;&gt; familyPaths, boolean assignSeqId,<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      BulkLoadListener bulkLoadListener) throws IOException;<a name="line.541"></a>
 <span class="sourceLineNo">542</span><a name="line.542"></a>
-<span class="sourceLineNo">543</span>  /** @return the coprocessor host */<a name="line.543"></a>
-<span class="sourceLineNo">544</span>  RegionCoprocessorHost getCoprocessorHost();<a name="line.544"></a>
+<span class="sourceLineNo">543</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.543"></a>
+<span class="sourceLineNo">544</span>  // Coprocessors<a name="line.544"></a>
 <span class="sourceLineNo">545</span><a name="line.545"></a>
-<span class="sourceLineNo">546</span>  /**<a name="line.546"></a>
-<span class="sourceLineNo">547</span>   * Executes a single protocol buffer coprocessor endpoint {@link Service} method using<a name="line.547"></a>
-<span class="sourceLineNo">548</span>   * the registered protocol handlers.  {@link Service} implementations must be registered via the<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * {@link Region#registerService(com.google.protobuf.Service)}<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * method before they are available.<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   *<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   * @param controller an {@code RpcContoller} implementation to pass to the invoked service<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param call a {@code CoprocessorServiceCall} instance identifying the service, method,<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   *     and parameters for the method invocation<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * @return a protocol buffer {@code Message} instance containing the method's result<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @throws IOException if no registered service handler is found or an error<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   *     occurs during the invocation<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @see org.apache.hadoop.hbase.regionserver.Region#registerService(com.google.protobuf.Service)<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  Message execService(RpcController controller, CoprocessorServiceCall call) throws IOException;<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  /**<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   * Registers a new protocol buffer {@link Service} subclass as a coprocessor endpoint to<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * be available for handling<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * {@link Region#execService(com.google.protobuf.RpcController,<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   *    org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)}} calls.<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   *<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * &lt;p&gt;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * Only a single instance may be registered per region for a given {@link Service} subclass (the<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * instances are keyed on {@link com.google.protobuf.Descriptors.ServiceDescriptor#getFullName()}.<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * After the first registration, subsequent calls with the same service name will fail with<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   * a return value of {@code false}.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   * &lt;/p&gt;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>   * @param instance the {@code Service} subclass instance to expose as a coprocessor endpoint<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   * @return {@code true} if the registration was successful, {@code false}<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   * otherwise<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   */<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  boolean registerService(Service instance);<a name="line.578"></a>
-<span class="sourceLineNo">579</span><a name="line.579"></a>
-<span class="sourceLineNo">580</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.580"></a>
-<span class="sourceLineNo">581</span>  // RowMutation processor support<a name="line.581"></a>
+<span class="sourceLineNo">546</span>  /** @return the coprocessor host */<a name="line.546"></a>
+<span class="sourceLineNo">547</span>  RegionCoprocessorHost getCoprocessorHost();<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>  /**<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * Executes a single protocol buffer coprocessor endpoint {@link Service} method using<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * the registered protocol handlers.  {@link Service} implementations must be registered via the<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   * {@link Region#registerService(com.google.protobuf.Service)}<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   * method before they are available.<a name="line.553"></a>
+<span class="sourceLineNo">554</span>   *<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   * @param controller an {@code RpcContoller} implementation to pass to the invoked service<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   * @param call a {@code CoprocessorServiceCall} instance identifying the service, method,<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   *     and parameters for the method invocation<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   * @return a protocol buffer {@code Message} instance containing the method's result<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   * @throws IOException if no registered service handler is found or an error<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   *     occurs during the invocation<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   * @see org.apache.hadoop.hbase.regionserver.Region#registerService(com.google.protobuf.Service)<a name="line.561"></a>
+<span class="sourceLineNo">562</span>   */<a name="line.562"></a>
+<span class="sourceLineNo">563</span>  Message execService(RpcController controller, CoprocessorServiceCall call) throws IOException;<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span>  /**<a name="line.565"></a>
+<span class="sourceLineNo">566</span>   * Registers a new protocol buffer {@link Service} subclass as a coprocessor endpoint to<a name="line.566"></a>
+<span class="sourceLineNo">567</span>   * be available for handling<a name="line.567"></a>
+<span class="sourceLineNo">568</span>   * {@link Region#execService(com.google.protobuf.RpcController,<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   *    org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)}} calls.<a name="line.569"></a>
+<span class="sourceLineNo">570</span>   *<a name="line.570"></a>
+<span class="sourceLineNo">571</span>   * &lt;p&gt;<a name="line.571"></a>
+<span class="sourceLineNo">572</span>   * Only a single instance may be registered per region for a given {@link Service} subclass (the<a name="line.572"></a>
+<span class="sourceLineNo">573</span>   * instances are keyed on {@link com.google.protobuf.Descriptors.ServiceDescriptor#getFullName()}.<a name="line.573"></a>
+<span class="sourceLineNo">574</span>   * After the first registration, subsequent calls with the same service name will fail with<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   * a return value of {@code false}.<a name="line.575"></a>
+<span class="sourceLineNo">576</span>   * &lt;/p&gt;<a name="line.576"></a>
+<span class="sourceLineNo">577</span>   * @param instance the {@code Service} subclass instance to expose as a coprocessor endpoint<a name="line.577"></a>
+<span class="sourceLineNo">578</span>   * @return {@code true} if the registration was successful, {@code false}<a name="line.578"></a>
+<span class="sourceLineNo">579</span>   * otherwise<a name="line.579"></a>
+<span class="sourceLineNo">580</span>   */<a name="line.580"></a>
+<span class="sourceLineNo">581</span>  boolean registerService(Service instance);<a name="line.581"></a>
 <span class="sourceLineNo">582</span><a name="line.582"></a>
-<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * Check the collection of families for validity.<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   * @param families<a name="line.585"></a>
-<span class="sourceLineNo">586</span>   * @throws NoSuchColumnFamilyException<a name="line.586"></a>
-<span class="sourceLineNo">587</span>   */<a name="line.587"></a>
-<span class="sourceLineNo">588</span>  void checkFamilies(Collection&lt;byte[]&gt; families) throws NoSuchColumnFamilyException;<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>  /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * Check the collection of families for valid timestamps<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * @param familyMap<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   * @param now current timestamp<a name="line.593"></a>
-<span class="sourceLineNo">594</span>   * @throws FailedSanityCheckException<a name="line.594"></a>
-<span class="sourceLineNo">595</span>   */<a name="line.595"></a>
-<span class="sourceLineNo">596</span>  void checkTimestamps(Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, long now)<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      throws FailedSanityCheckException;<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Prepare a delete for a row mutation processor<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   * @param delete The passed delete is modified by this method. WARNING!<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * @throws IOException<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   */<a name="line.603"></a>
-<span class="sourceLineNo">604</span>  void prepareDelete(Delete delete) throws IOException;<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>  /**<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * Set up correct timestamps in the KVs in Delete object.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * &lt;p&gt;Caller should have the row and region locks.<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * @param mutation<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * @param familyCellMap<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * @param now<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * @throws IOException<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   */<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  void prepareDeleteTimestamps(Mutation mutation, Map&lt;byte[], List&lt;Cell&gt;&gt; familyCellMap,<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      byte[] now) throws IOException;<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>  /**<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * Replace any cell timestamps set to {@link org.apache.hadoop.hbase.HConstants#LATEST_TIMESTAMP}<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * provided current timestamp.<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @param values<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @param now<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  void updateCellTimestamps(final Iterable&lt;List&lt;Cell&gt;&gt; values, final byte[] now)<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      throws IOException;<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.626"></a>
-<span class="sourceLineNo">627</span>  // Flushes, compactions, splits, etc.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>  // Wizards only, please<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>  interface FlushResult {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    enum Result {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      FLUSHED_NO_COMPACTION_NEEDED,<a name="line.632"></a>
-<span class="sourceLineNo">633</span>      FLUSHED_COMPACTION_NEEDED,<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      // Special case where a flush didn't run because there's nothing in the memstores. Used when<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      // bulk loading to know when we can still load even if a flush didn't happen.<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      CANNOT_FLUSH_MEMSTORE_EMPTY,<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      CANNOT_FLUSH<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    }<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>    /** @return the detailed result code */<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    Result getResult();<a name="line.641"></a>
+<span class="sourceLineNo">583</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.583"></a>
+<span class="sourceLineNo">584</span>  // RowMutation processor support<a name="line.584"></a>
+<span class="sourceLineNo">585</span><a name="line.585"></a>
+<span class="sourceLineNo">586</span>  /**<a name="line.586"></a>
+<span class="sourceLineNo">587</span>   * Check the collection of families for validity.<a name="line.587"></a>
+<span class="sourceLineNo">588</span>   * @param families<a name="line.588"></a>
+<span class="sourceLineNo">589</span>   * @throws NoSuchColumnFamilyException<a name="line.589"></a>
+<span class="sourceLineNo">590</span>   */<a name="line.590"></a>
+<span class="sourceLineNo">591</span>  void checkFamilies(Collection&lt;byte[]&gt; families) throws NoSuchColumnFamilyException;<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span>  /**<a name="line.593"></a>
+<span class="sourceLineNo">594</span>   * Check the collection of families for valid timestamps<a name="line.594"></a>
+<span class="sourceLineNo">595</span>   * @param familyMap<a name="line.595"></a>
+<span class="sourceLineNo">596</span>   * @param now current timestamp<a name="line.596"></a>
+<span class="sourceLineNo">597</span>   * @throws FailedSanityCheckException<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   */<a name="line.598"></a>
+<span class="sourceLineNo">599</span>  void checkTimestamps(Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, long now)<a name="line.599"></a>
+<span class="sourceLineNo">600</span>      throws FailedSanityCheckException;<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span>  /**<a name="line.602"></a>
+<span class="sourceLineNo">603</span>   * Prepare a delete for a row mutation processor<a name="line.603"></a>
+<span class="sourceLineNo">604</span>   * @param delete The passed delete is modified by this method. WARNING!<a name="line.604"></a>
+<span class="sourceLineNo">605</span>   * @throws IOException<a name="line.605"></a>
+<span class="sourceLineNo">606</span>   */<a name="line.606"></a>
+<span class="sourceLineNo">607</span>  void prepareDelete(Delete delete) throws IOException;<a name="line.607"></a>
+<span class="sourceLineNo">608</span><a name="line.608"></a>
+<span class="sourceLineNo">609</span>  /**<a name="line.609"></a>
+<span class="sourceLineNo">610</span>   * Set up correct timestamps in the KVs in Delete object.<a name="line.610"></a>
+<span class="sourceLineNo">611</span>   * &lt;p&gt;Caller should have the row and region locks.<a name="line.611"></a>
+<span class="sourceLineNo">612</span>   * @param mutation<a name="line.612"></a>
+<span class="sourceLineNo">613</span>   * @param familyCellMap<a name="line.613"></a>
+<span class="sourceLineNo">614</span>   * @param now<a name="line.614"></a>
+<span class="sourceLineNo">615</span>   * @throws IOException<a name="line.615"></a>
+<span class="sourceLineNo">616</span>   */<a name="line.616"></a>
+<span class="sourceLineNo">617</span>  void prepareDeleteTimestamps(Mutation mutation, Map&lt;byte[], List&lt;Cell&gt;&gt; familyCellMap,<a name="line.617"></a>
+<span class="sourceLineNo">618</span>      byte[] now) throws IOException;<a name="line.618"></a>
+<span class="sourceLineNo">619</span><a name="line.619"></a>
+<span class="sourceLineNo">620</span>  /**<a name="line.620"></a>
+<span class="sourceLineNo">621</span>   * Replace any cell timestamps set to {@link org.apache.hadoop.hbase.HConstants#LATEST_TIMESTAMP}<a name="line.621"></a>
+<span class="sourceLineNo">622</span>   * provided current timestamp.<a name="line.622"></a>
+<span class="sourceLineNo">623</span>   * @param values<a name="line.623"></a>
+<span class="sourceLineNo">624</span>   * @param now<a name="line.624"></a>
+<span class="sourceLineNo">625</span>   */<a name="line.625"></a>
+<span class="sourceLineNo">626</span>  void updateCellTimestamps(final Iterable&lt;List&lt;Cell&gt;&gt; values, final byte[] now)<a name="line.626"></a>
+<span class="sourceLineNo">627</span>      throws IOException;<a name="line.627"></a>
+<span class="sourceLineNo">628</span><a name="line.628"></a>
+<span class="sourceLineNo">629</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.629"></a>
+<span class="sourceLineNo">630</span>  // Flushes, compactions, splits, etc.<a name="line.630"></a>
+<span class="sourceLineNo">631</span>  // Wizards only, please<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>  interface FlushResult {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>    enum Result {<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      FLUSHED_NO_COMPACTION_NEEDED,<a name="line.635"></a>
+<span class="sourceLineNo">636</span>      FLUSHED_COMPACTION_NEEDED,<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      // Special case where a flush didn't run because there's nothing in the memstores. Used when<a name="line.637"></a>
+<span class="sourceLineNo">638</span>      // bulk loading to know when we can still load even if a flush didn't happen.<a name="line.638"></a>
+<span class="sourceLineNo">639</span>      CANNOT_FLUSH_MEMSTORE_EMPTY,<a name="line.639"></a>
+<span class="sourceLineNo">640</span>      CANNOT_FLUSH<a name="line.640"></a>
+<span class="sourceLineNo">641</span>    }<a name="line.641"></a>
 <span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>    /** @return true if the memstores were flushed, else false */<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    boolean isFlushSucceeded();<a name="line.644"></a>
+<span class="sourceLineNo">643</span>    /** @return the detailed result code */<a name="line.643"></a>
+<span class="s

<TRUNCATED>

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
index d8b7655..385118d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -68,14 +68,14 @@
 <span class="sourceLineNo">060</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  optionalArguments = {<a name="line.61"></a>
 <span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.68"></a>
+<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.68"></a>
 <span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;")})<a name="line.70"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager")})<a name="line.70"></a>
 <span class="sourceLineNo">071</span>public class MasterStatusTmpl<a name="line.71"></a>
 <span class="sourceLineNo">072</span>  extends org.jamon.AbstractTemplateProxy<a name="line.72"></a>
 <span class="sourceLineNo">073</span>{<a name="line.73"></a>
@@ -133,108 +133,108 @@
 <span class="sourceLineNo">125</span>      return m_metaLocation__IsNotDefault;<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    }<a name="line.126"></a>
 <span class="sourceLineNo">127</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    // 27, 1<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    public void setFormat(String format)<a name="line.129"></a>
+<span class="sourceLineNo">128</span>    // 29, 1<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      // 27, 1<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      m_format = format;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      m_format__IsNotDefault = true;<a name="line.133"></a>
+<span class="sourceLineNo">131</span>      // 29, 1<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      m_assignmentManager = assignmentManager;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      m_assignmentManager__IsNotDefault = true;<a name="line.133"></a>
 <span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public String getFormat()<a name="line.135"></a>
+<span class="sourceLineNo">135</span>    public AssignmentManager getAssignmentManager()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_format;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_assignmentManager;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private String m_format;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    public boolean getFormat__IsNotDefault()<a name="line.140"></a>
+<span class="sourceLineNo">139</span>    private AssignmentManager m_assignmentManager;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.140"></a>
 <span class="sourceLineNo">141</span>    {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return m_format__IsNotDefault;<a name="line.142"></a>
+<span class="sourceLineNo">142</span>      return m_assignmentManager__IsNotDefault;<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    private boolean m_format__IsNotDefault;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    // 26, 1<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    public void setFilter(String filter)<a name="line.146"></a>
+<span class="sourceLineNo">144</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // 21, 1<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.146"></a>
 <span class="sourceLineNo">147</span>    {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // 26, 1<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      m_filter = filter;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      m_filter__IsNotDefault = true;<a name="line.150"></a>
+<span class="sourceLineNo">148</span>      // 21, 1<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      m_frags = frags;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      m_frags__IsNotDefault = true;<a name="line.150"></a>
 <span class="sourceLineNo">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public String getFilter()<a name="line.152"></a>
+<span class="sourceLineNo">152</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      return m_filter;<a name="line.154"></a>
+<span class="sourceLineNo">154</span>      return m_frags;<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    private String m_filter;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    public boolean getFilter__IsNotDefault()<a name="line.157"></a>
+<span class="sourceLineNo">156</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    public boolean getFrags__IsNotDefault()<a name="line.157"></a>
 <span class="sourceLineNo">158</span>    {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      return m_filter__IsNotDefault;<a name="line.159"></a>
+<span class="sourceLineNo">159</span>      return m_frags__IsNotDefault;<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    private boolean m_filter__IsNotDefault;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    // 28, 1<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    public void setServerManager(ServerManager serverManager)<a name="line.163"></a>
+<span class="sourceLineNo">161</span>    private boolean m_frags__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    // 27, 1<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    public void setFormat(String format)<a name="line.163"></a>
 <span class="sourceLineNo">164</span>    {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      // 28, 1<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      m_serverManager = serverManager;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      m_serverManager__IsNotDefault = true;<a name="line.167"></a>
+<span class="sourceLineNo">165</span>      // 27, 1<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      m_format = format;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      m_format__IsNotDefault = true;<a name="line.167"></a>
 <span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    public ServerManager getServerManager()<a name="line.169"></a>
+<span class="sourceLineNo">169</span>    public String getFormat()<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      return m_serverManager;<a name="line.171"></a>
+<span class="sourceLineNo">171</span>      return m_format;<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    }<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    private ServerManager m_serverManager;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    public boolean getServerManager__IsNotDefault()<a name="line.174"></a>
+<span class="sourceLineNo">173</span>    private String m_format;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    public boolean getFormat__IsNotDefault()<a name="line.174"></a>
 <span class="sourceLineNo">175</span>    {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      return m_serverManager__IsNotDefault;<a name="line.176"></a>
+<span class="sourceLineNo">176</span>      return m_format__IsNotDefault;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    private boolean m_serverManager__IsNotDefault;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    // 21, 1<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.180"></a>
+<span class="sourceLineNo">178</span>    private boolean m_format__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    // 25, 1<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.180"></a>
 <span class="sourceLineNo">181</span>    {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      // 21, 1<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      m_frags = frags;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      m_frags__IsNotDefault = true;<a name="line.184"></a>
+<span class="sourceLineNo">182</span>      // 25, 1<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.184"></a>
 <span class="sourceLineNo">185</span>    }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.186"></a>
+<span class="sourceLineNo">186</span>    public boolean getCatalogJanitorEnabled()<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return m_frags;<a name="line.188"></a>
+<span class="sourceLineNo">188</span>      return m_catalogJanitorEnabled;<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public boolean getFrags__IsNotDefault()<a name="line.191"></a>
+<span class="sourceLineNo">190</span>    private boolean m_catalogJanitorEnabled;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.191"></a>
 <span class="sourceLineNo">192</span>    {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return m_frags__IsNotDefault;<a name="line.193"></a>
+<span class="sourceLineNo">193</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    private boolean m_frags__IsNotDefault;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    // 29, 1<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.197"></a>
+<span class="sourceLineNo">195</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    // 23, 1<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.197"></a>
 <span class="sourceLineNo">198</span>    {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      // 29, 1<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      m_assignmentManager = assignmentManager;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      m_assignmentManager__IsNotDefault = true;<a name="line.201"></a>
+<span class="sourceLineNo">199</span>      // 23, 1<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      m_servers = servers;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      m_servers__IsNotDefault = true;<a name="line.201"></a>
 <span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public AssignmentManager getAssignmentManager()<a name="line.203"></a>
+<span class="sourceLineNo">203</span>    public List&lt;ServerName&gt; getServers()<a name="line.203"></a>
 <span class="sourceLineNo">204</span>    {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return m_assignmentManager;<a name="line.205"></a>
+<span class="sourceLineNo">205</span>      return m_servers;<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    }<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    private AssignmentManager m_assignmentManager;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.208"></a>
+<span class="sourceLineNo">207</span>    private List&lt;ServerName&gt; m_servers;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    public boolean getServers__IsNotDefault()<a name="line.208"></a>
 <span class="sourceLineNo">209</span>    {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      return m_assignmentManager__IsNotDefault;<a name="line.210"></a>
+<span class="sourceLineNo">210</span>      return m_servers__IsNotDefault;<a name="line.210"></a>
 <span class="sourceLineNo">211</span>    }<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // 25, 1<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.214"></a>
+<span class="sourceLineNo">212</span>    private boolean m_servers__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    // 26, 1<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    public void setFilter(String filter)<a name="line.214"></a>
 <span class="sourceLineNo">215</span>    {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      // 25, 1<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.218"></a>
+<span class="sourceLineNo">216</span>      // 26, 1<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      m_filter = filter;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      m_filter__IsNotDefault = true;<a name="line.218"></a>
 <span class="sourceLineNo">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    public boolean getCatalogJanitorEnabled()<a name="line.220"></a>
+<span class="sourceLineNo">220</span>    public String getFilter()<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return m_catalogJanitorEnabled;<a name="line.222"></a>
+<span class="sourceLineNo">222</span>      return m_filter;<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    private boolean m_catalogJanitorEnabled;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.225"></a>
+<span class="sourceLineNo">224</span>    private String m_filter;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    public boolean getFilter__IsNotDefault()<a name="line.225"></a>
 <span class="sourceLineNo">226</span>    {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.227"></a>
+<span class="sourceLineNo">227</span>      return m_filter__IsNotDefault;<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>    private boolean m_filter__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    // 24, 1<a name="line.230"></a>
 <span class="sourceLineNo">231</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.231"></a>
 <span class="sourceLineNo">232</span>    {<a name="line.232"></a>
@@ -252,23 +252,23 @@
 <span class="sourceLineNo">244</span>      return m_deadServers__IsNotDefault;<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    }<a name="line.245"></a>
 <span class="sourceLineNo">246</span>    private boolean m_deadServers__IsNotDefault;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // 23, 1<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.248"></a>
+<span class="sourceLineNo">247</span>    // 28, 1<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    public void setServerManager(ServerManager serverManager)<a name="line.248"></a>
 <span class="sourceLineNo">249</span>    {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      // 23, 1<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      m_servers = servers;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      m_servers__IsNotDefault = true;<a name="line.252"></a>
+<span class="sourceLineNo">250</span>      // 28, 1<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      m_serverManager = serverManager;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      m_serverManager__IsNotDefault = true;<a name="line.252"></a>
 <span class="sourceLineNo">253</span>    }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    public List&lt;ServerName&gt; getServers()<a name="line.254"></a>
+<span class="sourceLineNo">254</span>    public ServerManager getServerManager()<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      return m_servers;<a name="line.256"></a>
+<span class="sourceLineNo">256</span>      return m_serverManager;<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    private List&lt;ServerName&gt; m_servers;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    public boolean getServers__IsNotDefault()<a name="line.259"></a>
+<span class="sourceLineNo">258</span>    private ServerManager m_serverManager;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    public boolean getServerManager__IsNotDefault()<a name="line.259"></a>
 <span class="sourceLineNo">260</span>    {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      return m_servers__IsNotDefault;<a name="line.261"></a>
+<span class="sourceLineNo">261</span>      return m_serverManager__IsNotDefault;<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private boolean m_servers__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>    private boolean m_serverManager__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>  }<a name="line.264"></a>
 <span class="sourceLineNo">265</span>  @Override<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.266"></a>
@@ -287,45 +287,45 @@
 <span class="sourceLineNo">279</span>    return this;<a name="line.279"></a>
 <span class="sourceLineNo">280</span>  }<a name="line.280"></a>
 <span class="sourceLineNo">281</span>  <a name="line.281"></a>
-<span class="sourceLineNo">282</span>  protected String format;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.283"></a>
+<span class="sourceLineNo">282</span>  protected AssignmentManager assignmentManager;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.283"></a>
 <span class="sourceLineNo">284</span>  {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    (getImplData()).setFormat(p_format);<a name="line.285"></a>
+<span class="sourceLineNo">285</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.285"></a>
 <span class="sourceLineNo">286</span>    return this;<a name="line.286"></a>
 <span class="sourceLineNo">287</span>  }<a name="line.287"></a>
 <span class="sourceLineNo">288</span>  <a name="line.288"></a>
-<span class="sourceLineNo">289</span>  protected String filter;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.290"></a>
+<span class="sourceLineNo">289</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.290"></a>
 <span class="sourceLineNo">291</span>  {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    (getImplData()).setFilter(p_filter);<a name="line.292"></a>
+<span class="sourceLineNo">292</span>    (getImplData()).setFrags(p_frags);<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    return this;<a name="line.293"></a>
 <span class="sourceLineNo">294</span>  }<a name="line.294"></a>
 <span class="sourceLineNo">295</span>  <a name="line.295"></a>
-<span class="sourceLineNo">296</span>  protected ServerManager serverManager;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.297"></a>
+<span class="sourceLineNo">296</span>  protected String format;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.297"></a>
 <span class="sourceLineNo">298</span>  {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.299"></a>
+<span class="sourceLineNo">299</span>    (getImplData()).setFormat(p_format);<a name="line.299"></a>
 <span class="sourceLineNo">300</span>    return this;<a name="line.300"></a>
 <span class="sourceLineNo">301</span>  }<a name="line.301"></a>
 <span class="sourceLineNo">302</span>  <a name="line.302"></a>
-<span class="sourceLineNo">303</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.304"></a>
+<span class="sourceLineNo">303</span>  protected boolean catalogJanitorEnabled;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.304"></a>
 <span class="sourceLineNo">305</span>  {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    (getImplData()).setFrags(p_frags);<a name="line.306"></a>
+<span class="sourceLineNo">306</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.306"></a>
 <span class="sourceLineNo">307</span>    return this;<a name="line.307"></a>
 <span class="sourceLineNo">308</span>  }<a name="line.308"></a>
 <span class="sourceLineNo">309</span>  <a name="line.309"></a>
-<span class="sourceLineNo">310</span>  protected AssignmentManager assignmentManager;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.311"></a>
+<span class="sourceLineNo">310</span>  protected List&lt;ServerName&gt; servers;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.311"></a>
 <span class="sourceLineNo">312</span>  {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.313"></a>
+<span class="sourceLineNo">313</span>    (getImplData()).setServers(p_servers);<a name="line.313"></a>
 <span class="sourceLineNo">314</span>    return this;<a name="line.314"></a>
 <span class="sourceLineNo">315</span>  }<a name="line.315"></a>
 <span class="sourceLineNo">316</span>  <a name="line.316"></a>
-<span class="sourceLineNo">317</span>  protected boolean catalogJanitorEnabled;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.318"></a>
+<span class="sourceLineNo">317</span>  protected String filter;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.318"></a>
 <span class="sourceLineNo">319</span>  {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.320"></a>
+<span class="sourceLineNo">320</span>    (getImplData()).setFilter(p_filter);<a name="line.320"></a>
 <span class="sourceLineNo">321</span>    return this;<a name="line.321"></a>
 <span class="sourceLineNo">322</span>  }<a name="line.322"></a>
 <span class="sourceLineNo">323</span>  <a name="line.323"></a>
@@ -336,10 +336,10 @@
 <span class="sourceLineNo">328</span>    return this;<a name="line.328"></a>
 <span class="sourceLineNo">329</span>  }<a name="line.329"></a>
 <span class="sourceLineNo">330</span>  <a name="line.330"></a>
-<span class="sourceLineNo">331</span>  protected List&lt;ServerName&gt; servers;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.332"></a>
+<span class="sourceLineNo">331</span>  protected ServerManager serverManager;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.332"></a>
 <span class="sourceLineNo">333</span>  {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    (getImplData()).setServers(p_servers);<a name="line.334"></a>
+<span class="sourceLineNo">334</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.334"></a>
 <span class="sourceLineNo">335</span>    return this;<a name="line.335"></a>
 <span class="sourceLineNo">336</span>  }<a name="line.336"></a>
 <span class="sourceLineNo">337</span>  <a name="line.337"></a>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.RowLock.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.RowLock.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.RowLock.html
index 5acbf19..365d061 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.RowLock.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.RowLock.html
@@ -193,523 +193,526 @@
 <span class="sourceLineNo">185</span>   */<a name="line.185"></a>
 <span class="sourceLineNo">186</span>  void updateReadRequestsCount(long i);<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  /** @return write request count for this region */<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  long getWriteRequestsCount();<a name="line.189"></a>
+<span class="sourceLineNo">188</span>  /** @return filtered read requests count for this region */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  long getFilteredReadRequestsCount();<a name="line.189"></a>
 <span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  /**<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   * Update the write request count for this region<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @param i increment<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   */<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  void updateWriteRequestsCount(long i);<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  /** @return memstore size for this region, in bytes */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  long getMemstoreSize();<a name="line.198"></a>
+<span class="sourceLineNo">191</span>  /** @return write request count for this region */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  long getWriteRequestsCount();<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  /**<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * Update the write request count for this region<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @param i increment<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  void updateWriteRequestsCount(long i);<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /** @return the number of mutations processed bypassing the WAL */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  long getNumMutationsWithoutWAL();<a name="line.201"></a>
+<span class="sourceLineNo">200</span>  /** @return memstore size for this region, in bytes */<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  long getMemstoreSize();<a name="line.201"></a>
 <span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /** @return the size of data processed bypassing the WAL, in bytes */<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  long getDataInMemoryWithoutWAL();<a name="line.204"></a>
+<span class="sourceLineNo">203</span>  /** @return the number of mutations processed bypassing the WAL */<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  long getNumMutationsWithoutWAL();<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  /** @return the number of blocked requests */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  long getBlockedRequestsCount();<a name="line.207"></a>
+<span class="sourceLineNo">206</span>  /** @return the size of data processed bypassing the WAL, in bytes */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  long getDataInMemoryWithoutWAL();<a name="line.207"></a>
 <span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /** @return the number of checkAndMutate guards that passed */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  long getCheckAndMutateChecksPassed();<a name="line.210"></a>
+<span class="sourceLineNo">209</span>  /** @return the number of blocked requests */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  long getBlockedRequestsCount();<a name="line.210"></a>
 <span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>  /** @return the number of failed checkAndMutate guards */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  long getCheckAndMutateChecksFailed();<a name="line.213"></a>
+<span class="sourceLineNo">212</span>  /** @return the number of checkAndMutate guards that passed */<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  long getCheckAndMutateChecksPassed();<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /** @return the MetricsRegion for this region */<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  MetricsRegion getMetrics();<a name="line.216"></a>
+<span class="sourceLineNo">215</span>  /** @return the number of failed checkAndMutate guards */<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  long getCheckAndMutateChecksFailed();<a name="line.216"></a>
 <span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  /** @return the block distribution for all Stores managed by this region */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  HDFSBlocksDistribution getHDFSBlocksDistribution();<a name="line.219"></a>
+<span class="sourceLineNo">218</span>  /** @return the MetricsRegion for this region */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  MetricsRegion getMetrics();<a name="line.219"></a>
 <span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  // Locking<a name="line.222"></a>
+<span class="sourceLineNo">221</span>  /** @return the block distribution for all Stores managed by this region */<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  HDFSBlocksDistribution getHDFSBlocksDistribution();<a name="line.222"></a>
 <span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>  // Region read locks<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  /**<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * Operation enum is used in {@link Region#startRegionOperation} and elsewhere to provide<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   * context for various checks.<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   */<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  enum Operation {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    ANY, GET, PUT, DELETE, SCAN, APPEND, INCREMENT, SPLIT_REGION, MERGE_REGION, BATCH_MUTATE,<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    REPLAY_BATCH_MUTATE, COMPACT_REGION, REPLAY_EVENT<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * This method needs to be called before any public call that reads or<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * modifies data.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * the operation has completed, whether it succeeded or failed.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @throws IOException<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  void startRegionOperation() throws IOException;<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /**<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * This method needs to be called before any public call that reads or<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * modifies data.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * the operation has completed, whether it succeeded or failed.<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @param op The operation is about to be taken on the region<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @throws IOException<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  void startRegionOperation(Operation op) throws IOException;<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * Closes the region operation lock.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  void closeRegionOperation() throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // Row write locks<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  /**<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   * Row lock held by a given thread.<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * One thread may acquire multiple locks on the same row simultaneously.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   * The locks must be released by calling release() from the same thread.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>   */<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  public interface RowLock {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    /**<a name="line.270"></a>
-<span class="sourceLineNo">271</span>     * Release the given lock.  If there are no remaining locks held by the current thread<a name="line.271"></a>
-<span class="sourceLineNo">272</span>     * then unlock the row and allow other threads to acquire the lock.<a name="line.272"></a>
-<span class="sourceLineNo">273</span>     * @throws IllegalArgumentException if called by a different thread than the lock owning<a name="line.273"></a>
-<span class="sourceLineNo">274</span>     *     thread<a name="line.274"></a>
-<span class="sourceLineNo">275</span>     */<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    void release();<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  }<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * Tries to acquire a lock on the given row.<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @param waitForLock if true, will block until the lock is available.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   *        Otherwise, just tries to obtain the lock and returns<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   *        false if unavailable.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @return the row lock if acquired,<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   *   null if waitForLock was false and the lock was not acquired<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @throws IOException if waitForLock was true and the lock could not be acquired after waiting<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  RowLock getRowLock(byte[] row, boolean waitForLock) throws IOException;<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  /**<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * If the given list of row locks is not null, releases all locks.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  void releaseRowLocks(List&lt;RowLock&gt; rowLocks);<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  // Region operations<a name="line.296"></a>
+<span class="sourceLineNo">224</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  // Locking<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  // Region read locks<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * Operation enum is used in {@link Region#startRegionOperation} and elsewhere to provide<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * context for various checks.<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  enum Operation {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    ANY, GET, PUT, DELETE, SCAN, APPEND, INCREMENT, SPLIT_REGION, MERGE_REGION, BATCH_MUTATE,<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    REPLAY_BATCH_MUTATE, COMPACT_REGION, REPLAY_EVENT<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  /**<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * This method needs to be called before any public call that reads or<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * modifies data.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * the operation has completed, whether it succeeded or failed.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @throws IOException<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   */<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  void startRegionOperation() throws IOException;<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>  /**<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   * This method needs to be called before any public call that reads or<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * modifies data.<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * the operation has completed, whether it succeeded or failed.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @param op The operation is about to be taken on the region<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @throws IOException<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  void startRegionOperation(Operation op) throws IOException;<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>  /**<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * Closes the region operation lock.<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   * @throws IOException<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  void closeRegionOperation() throws IOException;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  // Row write locks<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * Row lock held by a given thread.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * One thread may acquire multiple locks on the same row simultaneously.<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * The locks must be released by calling release() from the same thread.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  public interface RowLock {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    /**<a name="line.273"></a>
+<span class="sourceLineNo">274</span>     * Release the given lock.  If there are no remaining locks held by the current thread<a name="line.274"></a>
+<span class="sourceLineNo">275</span>     * then unlock the row and allow other threads to acquire the lock.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>     * @throws IllegalArgumentException if called by a different thread than the lock owning<a name="line.276"></a>
+<span class="sourceLineNo">277</span>     *     thread<a name="line.277"></a>
+<span class="sourceLineNo">278</span>     */<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    void release();<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Tries to acquire a lock on the given row.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * @param waitForLock if true, will block until the lock is available.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   *        Otherwise, just tries to obtain the lock and returns<a name="line.285"></a>
+<span class="sourceLineNo">286</span>   *        false if unavailable.<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * @return the row lock if acquired,<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   *   null if waitForLock was false and the lock was not acquired<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * @throws IOException if waitForLock was true and the lock could not be acquired after waiting<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  RowLock getRowLock(byte[] row, boolean waitForLock) throws IOException;<a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * If the given list of row locks is not null, releases all locks.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  void releaseRowLocks(List&lt;RowLock&gt; rowLocks);<a name="line.296"></a>
 <span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * Perform one or more append operations on a row.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param append<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @param nonceGroup<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * @param nonce<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @return result of the operation<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @throws IOException<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  Result append(Append append, long nonceGroup, long nonce) throws IOException;<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * Perform a batch of mutations.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * &lt;p&gt;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Note this supports only Put and Delete mutations and will ignore other types passed.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * @param mutations the list of mutations<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * @param nonceGroup<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * @param nonce<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * @return an array of OperationStatus which internally contains the<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * @throws IOException<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   */<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  OperationStatus[] batchMutate(Mutation[] mutations, long nonceGroup, long nonce)<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      throws IOException;<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * Replay a batch of mutations.<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param mutations mutations to replay.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @param replaySeqId<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * @return an array of OperationStatus which internally contains the<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * @throws IOException<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   */<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   OperationStatus[] batchReplay(MutationReplay[] mutations, long replaySeqId) throws IOException;<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * Atomically checks if a row/family/qualifier value matches the expected value and if it does,<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * it performs the mutation. If the passed value is null, the lack of column value<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * (ie: non-existence) is used. See checkAndRowMutate to do many checkAndPuts at a time on a<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * single row.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * @param row to check<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   * @param family column family to check<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @param qualifier column qualifier to check<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param compareOp the comparison operator<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @param comparator<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @param mutation<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * @param writeToWAL<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * @return true if mutation was applied, false otherwise<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   * @throws IOException<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   */<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  boolean checkAndMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      ByteArrayComparable comparator, Mutation mutation, boolean writeToWAL) throws IOException;<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   * Atomically checks if a row/family/qualifier value matches the expected values and if it does,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>   * it performs the row mutations. If the passed value is null, the lack of column value<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * (ie: non-existence) is used. Use to do many mutations on a single row. Use checkAndMutate<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   * to do one checkAndMutate at a time.<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * @param row to check<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * @param family column family to check<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * @param qualifier column qualifier to check<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * @param compareOp the comparison operator<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * @param comparator<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param mutations<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param writeToWAL<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return true if mutations were applied, false otherwise<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @throws IOException<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   */<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  boolean checkAndRowMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      ByteArrayComparable comparator, RowMutations mutations, boolean writeToWAL)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throws IOException;<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>  /**<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * Deletes the specified cells/row.<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @param delete<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @throws IOException<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  void delete(Delete delete) throws IOException;<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  /**<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * Do a get based on the get parameter.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * @param get query parameters<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @return result of the operation<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   */<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  Result get(Get get) throws IOException;<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  /**<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   * Do a get based on the get parameter.<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * @param get query parameters<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * @param withCoprocessor invoke coprocessor or not. We don't want to<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * always invoke cp.<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * @return list of cells resulting from the operation<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  List&lt;Cell&gt; get(Get get, boolean withCoprocessor) throws IOException;<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span>  /**<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * Return an iterator that scans over the HRegion, returning the indicated<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * columns and rows specified by the {@link Scan}.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * &lt;p&gt;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * This Iterator must be closed by the caller.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   *<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * @param scan configured {@link Scan}<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * @return RegionScanner<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @throws IOException read exceptions<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  RegionScanner getScanner(Scan scan) throws IOException;<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>   * Return an iterator that scans over the HRegion, returning the indicated columns and rows<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * specified by the {@link Scan}. The scanner will also include the additional scanners passed<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * along with the scanners for the specified Scan instance. Should be careful with the usage to<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * pass additional scanners only within this Region<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * &lt;p&gt;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * This Iterator must be closed by the caller.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   *<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * @param scan configured {@link Scan}<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * @param additionalScanners Any additional scanners to be used<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * @return RegionScanner<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * @throws IOException read exceptions<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   */<a name="line.416"></a>
-<span class="sourceLineNo">417</span>  RegionScanner getScanner(Scan scan, List&lt;KeyValueScanner&gt; additionalScanners) throws IOException;<a name="line.417"></a>
-<span class="sourceLineNo">418</span><a name="line.418"></a>
-<span class="sourceLineNo">419</span>  /** The comparator to be used with the region */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  CellComparator getCellCompartor();<a name="line.420"></a>
+<span class="sourceLineNo">298</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  // Region operations<a name="line.299"></a>
+<span class="sourceLineNo">300</span><a name="line.300"></a>
+<span class="sourceLineNo">301</span>  /**<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   * Perform one or more append operations on a row.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   * @param append<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   * @param nonceGroup<a name="line.304"></a>
+<span class="sourceLineNo">305</span>   * @param nonce<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * @return result of the operation<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * @throws IOException<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   */<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  Result append(Append append, long nonceGroup, long nonce) throws IOException;<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>  /**<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * Perform a batch of mutations.<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * &lt;p&gt;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * Note this supports only Put and Delete mutations and will ignore other types passed.<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @param mutations the list of mutations<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * @param nonceGroup<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   * @param nonce<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * @return an array of OperationStatus which internally contains the<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.319"></a>
+<span class="sourceLineNo">320</span>   * @throws IOException<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   */<a name="line.321"></a>
+<span class="sourceLineNo">322</span>  OperationStatus[] batchMutate(Mutation[] mutations, long nonceGroup, long nonce)<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      throws IOException;<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  /**<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * Replay a batch of mutations.<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @param mutations mutations to replay.<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * @param replaySeqId<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   * @return an array of OperationStatus which internally contains the<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * @throws IOException<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   OperationStatus[] batchReplay(MutationReplay[] mutations, long replaySeqId) throws IOException;<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * Atomically checks if a row/family/qualifier value matches the expected value and if it does,<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * it performs the mutation. If the passed value is null, the lack of column value<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * (ie: non-existence) is used. See checkAndRowMutate to do many checkAndPuts at a time on a<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * single row.<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @param row to check<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * @param family column family to check<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * @param qualifier column qualifier to check<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   * @param compareOp the comparison operator<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * @param comparator<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * @param mutation<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   * @param writeToWAL<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   * @return true if mutation was applied, false otherwise<a name="line.347"></a>
+<span class="sourceLineNo">348</span>   * @throws IOException<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   */<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  boolean checkAndMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      ByteArrayComparable comparator, Mutation mutation, boolean writeToWAL) throws IOException;<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>  /**<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   * Atomically checks if a row/family/qualifier value matches the expected values and if it does,<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * it performs the row mutations. If the passed value is null, the lack of column value<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   * (ie: non-existence) is used. Use to do many mutations on a single row. Use checkAndMutate<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   * to do one checkAndMutate at a time.<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   * @param row to check<a name="line.358"></a>
+<span class="sourceLineNo">359</span>   * @param family column family to check<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   * @param qualifier column qualifier to check<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * @param compareOp the comparison operator<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * @param comparator<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * @param mutations<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * @param writeToWAL<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @return true if mutations were applied, false otherwise<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @throws IOException<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  boolean checkAndRowMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      ByteArrayComparable comparator, RowMutations mutations, boolean writeToWAL)<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      throws IOException;<a name="line.370"></a>
+<span class="sourceLineNo">371</span><a name="line.371"></a>
+<span class="sourceLineNo">372</span>  /**<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * Deletes the specified cells/row.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * @param delete<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * @throws IOException<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   */<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  void delete(Delete delete) throws IOException;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>  /**<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * Do a get based on the get parameter.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * @param get query parameters<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @return result of the operation<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   */<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  Result get(Get get) throws IOException;<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  /**<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * Do a get based on the get parameter.<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   * @param get query parameters<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * @param withCoprocessor invoke coprocessor or not. We don't want to<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * always invoke cp.<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   * @return list of cells resulting from the operation<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   */<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  List&lt;Cell&gt; get(Get get, boolean withCoprocessor) throws IOException;<a name="line.393"></a>
+<span class="sourceLineNo">394</span><a name="line.394"></a>
+<span class="sourceLineNo">395</span>  /**<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * Return an iterator that scans over the HRegion, returning the indicated<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   * columns and rows specified by the {@link Scan}.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * &lt;p&gt;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * This Iterator must be closed by the caller.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   *<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * @param scan configured {@link Scan}<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * @return RegionScanner<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   * @throws IOException read exceptions<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   */<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  RegionScanner getScanner(Scan scan) throws IOException;<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  /**<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * Return an iterator that scans over the HRegion, returning the indicated columns and rows<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * specified by the {@link Scan}. The scanner will also include the additional scanners passed<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * along with the scanners for the specified Scan instance. Should be careful with the usage to<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * pass additional scanners only within this Region<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   * &lt;p&gt;<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * This Iterator must be closed by the caller.<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   *<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   * @param scan configured {@link Scan}<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * @param additionalScanners Any additional scanners to be used<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * @return RegionScanner<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @throws IOException read exceptions<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  RegionScanner getScanner(Scan scan, List&lt;KeyValueScanner&gt; additionalScanners) throws IOException;<a name="line.420"></a>
 <span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  /**<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   * Perform one or more increment operations on a row.<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * @param increment<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * @param nonceGroup<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param nonce<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @return result of the operation<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @throws IOException<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  Result increment(Increment increment, long nonceGroup, long nonce) throws IOException;<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Performs multiple mutations atomically on a single row. Currently<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * {@link Put} and {@link Delete} are supported.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   *<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * @param mutations object that specifies the set of mutations to perform atomically<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * @throws IOException<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   */<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  void mutateRow(RowMutations mutations) throws IOException;<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>   * Perform atomic mutations within the region.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   *<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * @param mutations The list of mutations to perform.<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * &lt;code&gt;mutations&lt;/code&gt; can contain operations for multiple rows.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Caller has to ensure that all rows are contained in this region.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * @param rowsToLock Rows to lock<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   * If multiple rows are locked care should be taken that<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   * &lt;code&gt;rowsToLock&lt;/code&gt; is sorted in order to avoid deadlocks.<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   * @throws IOException<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   */<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  void mutateRowsWithLocks(Collection&lt;Mutation&gt; mutations, Collection&lt;byte[]&gt; rowsToLock,<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      long nonceGroup, long nonce) throws IOException;<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>   * Performs atomic multiple reads and writes on a given row.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   *<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * @param processor The object defines the reads and writes to a row.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   */<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor) throws IOException;<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>  /**<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   *<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * @param processor The object defines the reads and writes to a row.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long nonceGroup, long nonce)<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      throws IOException;<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>  /**<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   *<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * @param processor The object defines the reads and writes to a row.<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @param timeout The timeout of the processor.process() execution<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   *                Use a negative number to switch off the time bound<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long timeout, long nonceGroup, long nonce)<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      throws IOException;<a name="line.484"></a>
-<span class="sourceLineNo">485</span><a name="line.485"></a>
-<span class="sourceLineNo">486</span>  /**<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * Puts some data in the table.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @param put<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * @throws IOException<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   */<a name="line.490"></a>
-<span class="sourceLineNo">491</span>  void put(Put put) throws IOException;<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>  /**<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * Listener class to enable callers of<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * bulkLoadHFile() to perform any necessary<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   * pre/post processing of a given bulkload call<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   */<a name="line.497"></a>
-<span class="sourceLineNo">498</span>  interface BulkLoadListener {<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>     * Called before an HFile is actually loaded<a name="line.501"></a>
-<span class="sourceLineNo">502</span>     * @param family family being loaded to<a name="line.502"></a>
-<span class="sourceLineNo">503</span>     * @param srcPath path of HFile<a name="line.503"></a>
-<span class="sourceLineNo">504</span>     * @return final path to be used for actual loading<a name="line.504"></a>
-<span class="sourceLineNo">505</span>     * @throws IOException<a name="line.505"></a>
-<span class="sourceLineNo">506</span>     */<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    String prepareBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>    /**<a name="line.509"></a>
-<span class="sourceLineNo">510</span>     * Called after a successful HFile load<a name="line.510"></a>
-<span class="sourceLineNo">511</span>     * @param family family being loaded to<a name="line.511"></a>
-<span class="sourceLineNo">512</span>     * @param srcPath path of HFile<a name="line.512"></a>
-<span class="sourceLineNo">513</span>     * @throws IOException<a name="line.513"></a>
-<span class="sourceLineNo">514</span>     */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    void doneBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    /**<a name="line.517"></a>
-<span class="sourceLineNo">518</span>     * Called after a failed HFile load<a name="line.518"></a>
-<span class="sourceLineNo">519</span>     * @param family family being loaded to<a name="line.519"></a>
-<span class="sourceLineNo">520</span>     * @param srcPath path of HFile<a name="line.520"></a>
-<span class="sourceLineNo">521</span>     * @throws IOException<a name="line.521"></a>
-<span class="sourceLineNo">522</span>     */<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    void failedBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>  }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>  /**<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * Attempts to atomically load a group of hfiles.  This is critical for loading<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * rows with multiple column families atomically.<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   *<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param familyPaths List of Pair&amp;lt;byte[] column family, String hfilePath&amp;gt;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param bulkLoadListener Internal hooks enabling massaging/preparation of a<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * file about to be bulk loaded<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @param assignSeqId<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   * @return true if successful, false if failed recoverably<a name="line.534"></a>
-<span class="sourceLineNo">535</span>   * @throws IOException if failed unrecoverably.<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   */<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  boolean bulkLoadHFiles(Collection&lt;Pair&lt;byte[], String&gt;&gt; familyPaths, boolean assignSeqId,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      BulkLoadListener bulkLoadListener) throws IOException;<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.540"></a>
-<span class="sourceLineNo">541</span>  // Coprocessors<a name="line.541"></a>
+<span class="sourceLineNo">422</span>  /** The comparator to be used with the region */<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  CellComparator getCellCompartor();<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>  /**<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * Perform one or more increment operations on a row.<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * @param increment<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * @param nonceGroup<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * @param nonce<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * @return result of the operation<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * @throws IOException<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   */<a name="line.432"></a>
+<span class="sourceLineNo">433</span>  Result increment(Increment increment, long nonceGroup, long nonce) throws IOException;<a name="line.433"></a>
+<span class="sourceLineNo">434</span><a name="line.434"></a>
+<span class="sourceLineNo">435</span>  /**<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * Performs multiple mutations atomically on a single row. Currently<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * {@link Put} and {@link Delete} are supported.<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   *<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   * @param mutations object that specifies the set of mutations to perform atomically<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   * @throws IOException<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   */<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  void mutateRow(RowMutations mutations) throws IOException;<a name="line.442"></a>
+<span class="sourceLineNo">443</span><a name="line.443"></a>
+<span class="sourceLineNo">444</span>  /**<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * Perform atomic mutations within the region.<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   *<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   * @param mutations The list of mutations to perform.<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   * &lt;code&gt;mutations&lt;/code&gt; can contain operations for multiple rows.<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   * Caller has to ensure that all rows are contained in this region.<a name="line.449"></a>
+<span class="sourceLineNo">450</span>   * @param rowsToLock Rows to lock<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.451"></a>
+<span class="sourceLineNo">452</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * If multiple rows are locked care should be taken that<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * &lt;code&gt;rowsToLock&lt;/code&gt; is sorted in order to avoid deadlocks.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   * @throws IOException<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   */<a name="line.456"></a>
+<span class="sourceLineNo">457</span>  void mutateRowsWithLocks(Collection&lt;Mutation&gt; mutations, Collection&lt;byte[]&gt; rowsToLock,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      long nonceGroup, long nonce) throws IOException;<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>   * Performs atomic multiple reads and writes on a given row.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   *<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   * @param processor The object defines the reads and writes to a row.<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   */<a name="line.464"></a>
+<span class="sourceLineNo">465</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor) throws IOException;<a name="line.465"></a>
+<span class="sourceLineNo">466</span><a name="line.466"></a>
+<span class="sourceLineNo">467</span>  /**<a name="line.467"></a>
+<span class="sourceLineNo">468</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.468"></a>
+<span class="sourceLineNo">469</span>   *<a name="line.469"></a>
+<span class="sourceLineNo">470</span>   * @param processor The object defines the reads and writes to a row.<a name="line.470"></a>
+<span class="sourceLineNo">471</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   */<a name="line.473"></a>
+<span class="sourceLineNo">474</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long nonceGroup, long nonce)<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      throws IOException;<a name="line.475"></a>
+<span class="sourceLineNo">476</span><a name="line.476"></a>
+<span class="sourceLineNo">477</span>  /**<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   *<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * @param processor The object defines the reads and writes to a row.<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   * @param timeout The timeout of the processor.process() execution<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   *                Use a negative number to switch off the time bound<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.483"></a>
+<span class="sourceLineNo">484</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.484"></a>
+<span class="sourceLineNo">485</span>   */<a name="line.485"></a>
+<span class="sourceLineNo">486</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long timeout, long nonceGroup, long nonce)<a name="line.486"></a>
+<span class="sourceLineNo">487</span>      throws IOException;<a name="line.487"></a>
+<span class="sourceLineNo">488</span><a name="line.488"></a>
+<span class="sourceLineNo">489</span>  /**<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * Puts some data in the table.<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * @param put<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * @throws IOException<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   */<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  void put(Put put) throws IOException;<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>  /**<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * Listener class to enable callers of<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * bulkLoadHFile() to perform any necessary<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * pre/post processing of a given bulkload call<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
+<span class="sourceLineNo">501</span>  interface BulkLoadListener {<a name="line.501"></a>
+<span class="sourceLineNo">502</span><a name="line.502"></a>
+<span class="sourceLineNo">503</span>    /**<a name="line.503"></a>
+<span class="sourceLineNo">504</span>     * Called before an HFile is actually loaded<a name="line.504"></a>
+<span class="sourceLineNo">505</span>     * @param family family being loaded to<a name="line.505"></a>
+<span class="sourceLineNo">506</span>     * @param srcPath path of HFile<a name="line.506"></a>
+<span class="sourceLineNo">507</span>     * @return final path to be used for actual loading<a name="line.507"></a>
+<span class="sourceLineNo">508</span>     * @throws IOException<a name="line.508"></a>
+<span class="sourceLineNo">509</span>     */<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    String prepareBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.510"></a>
+<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">512</span>    /**<a name="line.512"></a>
+<span class="sourceLineNo">513</span>     * Called after a successful HFile load<a name="line.513"></a>
+<span class="sourceLineNo">514</span>     * @param family family being loaded to<a name="line.514"></a>
+<span class="sourceLineNo">515</span>     * @param srcPath path of HFile<a name="line.515"></a>
+<span class="sourceLineNo">516</span>     * @throws IOException<a name="line.516"></a>
+<span class="sourceLineNo">517</span>     */<a name="line.517"></a>
+<span class="sourceLineNo">518</span>    void doneBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.518"></a>
+<span class="sourceLineNo">519</span><a name="line.519"></a>
+<span class="sourceLineNo">520</span>    /**<a name="line.520"></a>
+<span class="sourceLineNo">521</span>     * Called after a failed HFile load<a name="line.521"></a>
+<span class="sourceLineNo">522</span>     * @param family family being loaded to<a name="line.522"></a>
+<span class="sourceLineNo">523</span>     * @param srcPath path of HFile<a name="line.523"></a>
+<span class="sourceLineNo">524</span>     * @throws IOException<a name="line.524"></a>
+<span class="sourceLineNo">525</span>     */<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    void failedBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.526"></a>
+<span class="sourceLineNo">527</span>  }<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span>  /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * Attempts to atomically load a group of hfiles.  This is critical for loading<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   * rows with multiple column families atomically.<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   *<a name="line.532"></a>
+<span class="sourceLineNo">533</span>   * @param familyPaths List of Pair&amp;lt;byte[] column family, String hfilePath&amp;gt;<a name="line.533"></a>
+<span class="sourceLineNo">534</span>   * @param bulkLoadListener Internal hooks enabling massaging/preparation of a<a name="line.534"></a>
+<span class="sourceLineNo">535</span>   * file about to be bulk loaded<a name="line.535"></a>
+<span class="sourceLineNo">536</span>   * @param assignSeqId<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   * @return true if successful, false if failed recoverably<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @throws IOException if failed unrecoverably.<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   */<a name="line.539"></a>
+<span class="sourceLineNo">540</span>  boolean bulkLoadHFiles(Collection&lt;Pair&lt;byte[], String&gt;&gt; familyPaths, boolean assignSeqId,<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      BulkLoadListener bulkLoadListener) throws IOException;<a name="line.541"></a>
 <span class="sourceLineNo">542</span><a name="line.542"></a>
-<span class="sourceLineNo">543</span>  /** @return the coprocessor host */<a name="line.543"></a>
-<span class="sourceLineNo">544</span>  RegionCoprocessorHost getCoprocessorHost();<a name="line.544"></a>
+<span class="sourceLineNo">543</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.543"></a>
+<span class="sourceLineNo">544</span>  // Coprocessors<a name="line.544"></a>
 <span class="sourceLineNo">545</span><a name="line.545"></a>
-<span class="sourceLineNo">546</span>  /**<a name="line.546"></a>
-<span class="sourceLineNo">547</span>   * Executes a single protocol buffer coprocessor endpoint {@link Service} method using<a name="line.547"></a>
-<span class="sourceLineNo">548</span>   * the registered protocol handlers.  {@link Service} implementations must be registered via the<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * {@link Region#registerService(com.google.protobuf.Service)}<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * method before they are available.<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   *<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   * @param controller an {@code RpcContoller} implementation to pass to the invoked service<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param call a {@code CoprocessorServiceCall} instance identifying the service, method,<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   *     and parameters for the method invocation<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * @return a protocol buffer {@code Message} instance containing the method's result<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @throws IOException if no registered service handler is found or an error<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   *     occurs during the invocation<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @see org.apache.hadoop.hbase.regionserver.Region#registerService(com.google.protobuf.Service)<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  Message execService(RpcController controller, CoprocessorServiceCall call) throws IOException;<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  /**<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   * Registers a new protocol buffer {@link Service} subclass as a coprocessor endpoint to<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * be available for handling<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * {@link Region#execService(com.google.protobuf.RpcController,<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   *    org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)}} calls.<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   *<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * &lt;p&gt;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * Only a single instance may be registered per region for a given {@link Service} subclass (the<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * instances are keyed on {@link com.google.protobuf.Descriptors.ServiceDescriptor#getFullName()}.<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * After the first registration, subsequent calls with the same service name will fail with<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   * a return value of {@code false}.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   * &lt;/p&gt;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>   * @param instance the {@code Service} subclass instance to expose as a coprocessor endpoint<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   * @return {@code true} if the registration was successful, {@code false}<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   * otherwise<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   */<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  boolean registerService(Service instance);<a name="line.578"></a>
-<span class="sourceLineNo">579</span><a name="line.579"></a>
-<span class="sourceLineNo">580</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.580"></a>
-<span class="sourceLineNo">581</span>  // RowMutation processor support<a name="line.581"></a>
+<span class="sourceLineNo">546</span>  /** @return the coprocessor host */<a name="line.546"></a>
+<span class="sourceLineNo">547</span>  RegionCoprocessorHost getCoprocessorHost();<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>  /**<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * Executes a single protocol buffer coprocessor endpoint {@link Service} method using<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * the registered protocol handlers.  {@link Service} implementations must be registered via the<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   * {@link Region#registerService(com.google.protobuf.Service)}<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   * method before they are available.<a name="line.553"></a>
+<span class="sourceLineNo">554</span>   *<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   * @param controller an {@code RpcContoller} implementation to pass to the invoked service<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   * @param call a {@code CoprocessorServiceCall} instance identifying the service, method,<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   *     and parameters for the method invocation<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   * @return a protocol buffer {@code Message} instance containing the method's result<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   * @throws IOException if no registered service handler is found or an error<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   *     occurs during the invocation<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   * @see org.apache.hadoop.hbase.regionserver.Region#registerService(com.google.protobuf.Service)<a name="line.561"></a>
+<span class="sourceLineNo">562</span>   */<a name="line.562"></a>
+<span class="sourceLineNo">563</span>  Message execService(RpcController controller, CoprocessorServiceCall call) throws IOException;<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span>  /**<a name="line.565"></a>
+<span class="sourceLineNo">566</span>   * Registers a new protocol buffer {@link Service} subclass as a coprocessor endpoint to<a name="line.566"></a>
+<span class="sourceLineNo">567</span>   * be available for handling<a name="line.567"></a>
+<span class="sourceLineNo">568</span>   * {@link Region#execService(com.google.protobuf.RpcController,<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   *    org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)}} calls.<a name="line.569"></a>
+<span class="sourceLineNo">570</span>   *<a name="line.570"></a>
+<span class="sourceLineNo">571</span>   * &lt;p&gt;<a name="line.571"></a>
+<span class="sourceLineNo">572</span>   * Only a single instance may be registered per region for a given {@link Service} subclass (the<a name="line.572"></a>
+<span class="sourceLineNo">573</span>   * instances are keyed on {@link com.google.protobuf.Descriptors.ServiceDescriptor#getFullName()}.<a name="line.573"></a>
+<span class="sourceLineNo">574</span>   * After the first registration, subsequent calls with the same service name will fail with<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   * a return value of {@code false}.<a name="line.575"></a>
+<span class="sourceLineNo">576</span>   * &lt;/p&gt;<a name="line.576"></a>
+<span class="sourceLineNo">577</span>   * @param instance the {@code Service} subclass instance to expose as a coprocessor endpoint<a name="line.577"></a>
+<span class="sourceLineNo">578</span>   * @return {@code true} if the registration was successful, {@code false}<a name="line.578"></a>
+<span class="sourceLineNo">579</span>   * otherwise<a name="line.579"></a>
+<span class="sourceLineNo">580</span>   */<a name="line.580"></a>
+<span class="sourceLineNo">581</span>  boolean registerService(Service instance);<a name="line.581"></a>
 <span class="sourceLineNo">582</span><a name="line.582"></a>
-<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * Check the collection of families for validity.<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   * @param families<a name="line.585"></a>
-<span class="sourceLineNo">586</span>   * @throws NoSuchColumnFamilyException<a name="line.586"></a>
-<span class="sourceLineNo">587</span>   */<a name="line.587"></a>
-<span class="sourceLineNo">588</span>  void checkFamilies(Collection&lt;byte[]&gt; families) throws NoSuchColumnFamilyException;<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>  /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * Check the collection of families for valid timestamps<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * @param familyMap<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   * @param now current timestamp<a name="line.593"></a>
-<span class="sourceLineNo">594</span>   * @throws FailedSanityCheckException<a name="line.594"></a>
-<span class="sourceLineNo">595</span>   */<a name="line.595"></a>
-<span class="sourceLineNo">596</span>  void checkTimestamps(Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, long now)<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      throws FailedSanityCheckException;<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Prepare a delete for a row mutation processor<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   * @param delete The passed delete is modified by this method. WARNING!<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * @throws IOException<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   */<a name="line.603"></a>
-<span class="sourceLineNo">604</span>  void prepareDelete(Delete delete) throws IOException;<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>  /**<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * Set up correct timestamps in the KVs in Delete object.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * &lt;p&gt;Caller should have the row and region locks.<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * @param mutation<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * @param familyCellMap<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * @param now<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * @throws IOException<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   */<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  void prepareDeleteTimestamps(Mutation mutation, Map&lt;byte[], List&lt;Cell&gt;&gt; familyCellMap,<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      byte[] now) throws IOException;<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>  /**<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * Replace any cell timestamps set to {@link org.apache.hadoop.hbase.HConstants#LATEST_TIMESTAMP}<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * provided current timestamp.<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @param values<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @param now<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  void updateCellTimestamps(final Iterable&lt;List&lt;Cell&gt;&gt; values, final byte[] now)<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      throws IOException;<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.626"></a>
-<span class="sourceLineNo">627</span>  // Flushes, compactions, splits, etc.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>  // Wizards only, please<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>  interface FlushResult {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    enum Result {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      FLUSHED_NO_COMPACTION_NEEDED,<a name="line.632"></a>
-<span class="sourceLineNo">633</span>      FLUSHED_COMPACTION_NEEDED,<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      // Special case where a flush didn't run because there's nothing in the memstores. Used when<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      // bulk loading to know when we can still load even if a flush didn't happen.<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      CANNOT_FLUSH_MEMSTORE_EMPTY,<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      CANNOT_FLUSH<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    }<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>    /** @return the detailed result code */<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    Result getResult();<a name="line.641"></a>
+<span class="sourceLineNo">583</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.583"></a>
+<span class="sourceLineNo">584</span>  // RowMutation processor support<a name="line.584"></a>
+<span class="sourceLineNo">585</span><a name="line.585"></a>
+<span class="sourceLineNo">586</span>  /**<a name="line.586"></a>
+<span class="sourceLineNo">587</span>   * Check the collection of families for validity.<a name="line.587"></a>
+<span class="sourceLineNo">588</span>   * @param families<a name="line.588"></a>
+<span class="sourceLineNo">589</span>   * @throws NoSuchColumnFamilyException<a name="line.589"></a>
+<span class="sourceLineNo">590</span>   */<a name="line.590"></a>
+<span class="sourceLineNo">591</span>  void checkFamilies(Collection&lt;byte[]&gt; families) throws NoSuchColumnFamilyException;<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span>  /**<a name="line.593"></a>
+<span class="sourceLineNo">594</span>   * Check the collection of families for valid timestamps<a name="line.594"></a>
+<span class="sourceLineNo">595</span>   * @param familyMap<a name="line.595"></a>
+<span class="sourceLineNo">596</span>   * @param now current timestamp<a name="line.596"></a>
+<span class="sourceLineNo">597</span>   * @throws FailedSanityCheckException<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   */<a name="line.598"></a>
+<span class="sourceLineNo">599</span>  void checkTimestamps(Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, long now)<a name="line.599"></a>
+<span class="sourceLineNo">600</span>      throws FailedSanityCheckException;<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span>  /**<a name="line.602"></a>
+<span class="sourceLineNo">603</span>   * Prepare a delete for a row mutation processor<a name="line.603"></a>
+<span class="sourceLineNo">604</span>   * @param delete The passed delete is modified by this method. WARNING!<a name="line.604"></a>
+<span class="sourceLineNo">605</span>   * @throws IOException<a name="line.605"></a>
+<span class="sourceLineNo">606</span>   */<a name="line.606"></a>
+<span class="sourceLineNo">607</span>  void prepareDelete(Delete delete) throws IOException;<a name="line.607"></a>
+<span class="sourceLineNo">608</span><a name="line.608"></a>
+<span class="sourceLineNo">609</span>  /**<a name="line.609"></a>
+<span class="sourceLineNo">610</span>   * Set up correct timestamps in the KVs in Delete object.<a name="line.610"></a>
+<span class="sourceLineNo">611</span>   * &lt;p&gt;Caller should have the row and region locks.<a name="line.611"></a>
+<span class="sourceLineNo">612</span>   * @param mutation<a name="line.612"></a>
+<span class="sourceLineNo">613</span>   * @param familyCellMap<a name="line.613"></a>
+<span class="sourceLineNo">614</span>   * @param now<a name="line.614"></a>
+<span class="sourceLineNo">615</span>   * @throws IOException<a name="line.615"></a>
+<span class="sourceLineNo">616</span>   */<a name="line.616"></a>
+<span class="sourceLineNo">617</span>  void prepareDeleteTimestamps(Mutation mutation, Map&lt;byte[], List&lt;Cell&gt;&gt; familyCellMap,<a name="line.617"></a>
+<span class="sourceLineNo">618</span>      byte[] now) throws IOException;<a name="line.618"></a>
+<span class="sourceLineNo">619</span><a name="line.619"></a>
+<span class="sourceLineNo">620</span>  /**<a name="line.620"></a>
+<span class="sourceLineNo">621</span>   * Replace any cell timestamps set to {@link org.apache.hadoop.hbase.HConstants#LATEST_TIMESTAMP}<a name="line.621"></a>
+<span class="sourceLineNo">622</span>   * provided current timestamp.<a name="line.622"></a>
+<span class="sourceLineNo">623</span>   * @param values<a name="line.623"></a>
+<span class="sourceLineNo">624</span>   * @param now<a name="line.624"></a>
+<span class="sourceLineNo">625</span>   */<a name="line.625"></a>
+<span class="sourceLineNo">626</span>  void updateCellTimestamps(final Iterable&lt;List&lt;Cell&gt;&gt; values, final byte[] now)<a name="line.626"></a>
+<span class="sourceLineNo">627</span>      throws IOException;<a name="line.627"></a>
+<span class="sourceLineNo">628</span><a name="line.628"></a>
+<span class="sourceLineNo">629</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.629"></a>
+<span class="sourceLineNo">630</span>  // Flushes, compactions, splits, etc.<a name="line.630"></a>
+<span class="sourceLineNo">631</span>  // Wizards only, please<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>  interface FlushResult {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>    enum Result {<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      FLUSHED_NO_COMPACTION_NEEDED,<a name="line.635"></a>
+<span class="sourceLineNo">636</span>      FLUSHED_COMPACTION_NEEDED,<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      // Special case where a flush didn't run because there's nothing in the memstores. Used when<a name="line.637"></a>
+<span class="sourceLineNo">638</span>      // bulk loading to know when we can still load even if a flush didn't happen.<a name="line.638"></a>
+<span class="sourceLineNo">639</span>      CANNOT_FLUSH_MEMSTORE_EMPTY,<a name="line.639"></a>
+<span class="sourceLineNo">640</span>      CANNOT_FLUSH<a name="line.640"></a>
+<span class="sourceLineNo">641</span>    }<a name="line.641"></a>
 <span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>    /** @return true if the memstores were flushed, else false */<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    boolean isFlushSucceeded();<a name="line.644"></a>
+<span class="sourceLineNo">643</span>    /** @return the detailed result code *

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index cdf64d6..281a669 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -14260,6 +14260,20 @@
 <td class="colLast"><code>"delete"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.FILTERED_READ_REQUEST_COUNT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FILTERED_READ_REQUEST_COUNT">FILTERED_READ_REQUEST_COUNT</a></code></td>
+<td class="colLast"><code>"filteredReadRequestCount"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.FILTERED_READ_REQUEST_COUNT_DESC">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FILTERED_READ_REQUEST_COUNT_DESC">FILTERED_READ_REQUEST_COUNT_DESC</a></code></td>
+<td class="colLast"><code>"Number of filtered read requests this region server has answered."</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.FLUSH_KEY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index c223a4a..c2ccf66 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -19217,7 +19217,7 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html#doMetrics()">doMetrics()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#doMiniBatchMutation(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">doMiniBatchMutation(HRegion.BatchOperationInProgress&lt;?&gt;)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#doMiniBatchMutation(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress,%20int)">doMiniBatchMutation(HRegion.BatchOperationInProgress&lt;?&gt;, int)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mob/MobUtils.html#doMobCompaction(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.HColumnDescriptor,%20java.util.concurrent.ExecutorService,%20org.apache.hadoop.hbase.master.TableLockManager,%20boolean)">doMobCompaction(Configuration, FileSystem, TableName, HColumnDescriptor, ExecutorService, TableLockManager, boolean)</a></span> - Static method in class org.apache.hadoop.hbase.mob.<a href="./org/apache/hadoop/hbase/mob/MobUtils.html" title="class in org.apache.hadoop.hbase.mob">MobUtils</a></dt>
 <dd>
@@ -22875,6 +22875,16 @@
 <dd>
 <div class="block">A container interface to add javax.servlet.Filter.</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FILTERED_READ_REQUEST_COUNT">FILTERED_READ_REQUEST_COUNT</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FILTERED_READ_REQUEST_COUNT_DESC">FILTERED_READ_REQUEST_COUNT_DESC</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#filteredReadRequestsCount">filteredReadRequestsCount</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="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#filteredReadRequestsCount">filteredReadRequestsCount</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ServerLoad.html#filteredReadRequestsCount">filteredReadRequestsCount</a></span> - Variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/ServerLoad.html" title="class in org.apache.hadoop.hbase">ServerLoad</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/ParseFilter.html#filterHashMap">filterHashMap</a></span> - Static variable in class org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/ParseFilter.html" title="class in org.apache.hadoop.hbase.filter">ParseFilter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterIfMissing">filterIfMissing</a></span> - Variable in class org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a></dt>
@@ -28833,6 +28843,26 @@
 <dd>
 <div class="block">Returns the arguments of the filter from the filter string</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html#getFilteredReadRequestCount()">getFilteredReadRequestCount()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapper</a></dt>
+<dd>
+<div class="block">Get the total number of filtered read requests that have been issued against this region</div>
+</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html#getFilteredReadRequestCount()">getFilteredReadRequestCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapperImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/RegionLoad.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></dt>
+<dd>
+<div class="block">Get the number of filtered read requests to regions hosted on this region server.</div>
+</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/Region.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ServerLoad.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/ServerLoad.html" title="class in org.apache.hadoop.hbase">ServerLoad</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/HalfStoreFileReader.html#getFilterEntries()">getFilterEntries()</a></span> - Method in class org.apache.hadoop.hbase.io.<a href="./org/apache/hadoop/hbase/io/HalfStoreFileReader.html" title="class in org.apache.hadoop.hbase.io">HalfStoreFileReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/StoreFile.Reader.html#getFilterEntries()">getFilterEntries()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/StoreFile.Reader.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile.Reader</a></dt>
@@ -92163,6 +92193,8 @@ the order they are declared.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#WALEdit(boolean)">WALEdit(boolean)</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.wal.<a href="./org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#WALEdit(int)">WALEdit(int)</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.wal.<a href="./org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#walEditsFromCoprocessors">walEditsFromCoprocessors</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperationInProgress</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html#walEditsFromCoprocessors">walEditsFromCoprocessors</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/RegionLoad.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/RegionLoad.html b/devapidocs/org/apache/hadoop/hbase/RegionLoad.html
index 2bd2daa..3c26454 100644
--- a/devapidocs/org/apache/hadoop/hbase/RegionLoad.html
+++ b/devapidocs/org/apache/hadoop/hbase/RegionLoad.html
@@ -170,73 +170,77 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getLastMajorCompactionTs()">getLastMajorCompactionTs</a></strong>()</code>&nbsp;</td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getLastMajorCompactionTs()">getLastMajorCompactionTs</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getMemStoreSizeMB()">getMemStoreSizeMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getName()">getName</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getNameAsString()">getNameAsString</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getReadRequestsCount()">getReadRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getRequestsCount()">getRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getRootIndexSizeKB()">getRootIndexSizeKB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getStoreCompleteSequenceId()">getStoreCompleteSequenceId</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getStorefileIndexSizeMB()">getStorefileIndexSizeMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getStorefiles()">getStorefiles</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getStorefileSizeMB()">getStorefileSizeMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getStores()">getStores</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getStoreUncompressedSizeMB()">getStoreUncompressedSizeMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getTotalCompactingKVs()">getTotalCompactingKVs</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getTotalStaticBloomSizeKB()">getTotalStaticBloomSizeKB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getTotalStaticIndexSizeKB()">getTotalStaticIndexSizeKB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#getWriteRequestsCount()">getWriteRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html#toString()">toString</a></strong>()</code>&nbsp;</td>
 </tr>
@@ -386,13 +390,23 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of read requests made to region</dd></dl>
 </li>
 </ul>
+<a name="getFilteredReadRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFilteredReadRequestsCount</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.111">getFilteredReadRequestsCount</a>()</pre>
+<dl><dt><span class="strong">Returns:</span></dt><dd>the number of filtered read requests made to region</dd></dl>
+</li>
+</ul>
 <a name="getWriteRequestsCount()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteRequestsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.111">getWriteRequestsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.118">getWriteRequestsCount</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of write requests made to region</dd></dl>
 </li>
 </ul>
@@ -402,7 +416,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRootIndexSizeKB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.118">getRootIndexSizeKB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.125">getRootIndexSizeKB</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The current total size of root-level indexes for the region, in KB.</dd></dl>
 </li>
 </ul>
@@ -412,7 +426,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalStaticIndexSizeKB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.125">getTotalStaticIndexSizeKB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.132">getTotalStaticIndexSizeKB</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The total size of all index blocks, not just the root level, in KB.</dd></dl>
 </li>
 </ul>
@@ -422,7 +436,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalStaticBloomSizeKB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.133">getTotalStaticBloomSizeKB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.140">getTotalStaticBloomSizeKB</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The total size of all Bloom filter blocks, not just loaded into the
  block cache, in KB.</dd></dl>
 </li>
@@ -433,7 +447,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalCompactingKVs</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.140">getTotalCompactingKVs</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.147">getTotalCompactingKVs</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the total number of kvs in current compaction</dd></dl>
 </li>
 </ul>
@@ -443,7 +457,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentCompactedKVs</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.147">getCurrentCompactedKVs</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.154">getCurrentCompactedKVs</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of already compacted kvs in current compaction</dd></dl>
 </li>
 </ul>
@@ -453,7 +467,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompleteSequenceId</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.155">getCompleteSequenceId</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.162">getCompleteSequenceId</a>()</pre>
 <div class="block">This does not really belong inside RegionLoad but its being done in the name of expediency.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the completed sequence Id for the region</dd></dl>
 </li>
@@ -464,7 +478,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreCompleteSequenceId</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.162">getStoreCompleteSequenceId</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.StoreSequenceId&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.169">getStoreCompleteSequenceId</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>completed sequence id per store.</dd></dl>
 </li>
 </ul>
@@ -474,7 +488,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreUncompressedSizeMB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.169">getStoreUncompressedSizeMB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.176">getStoreUncompressedSizeMB</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the uncompressed size of the storefiles in MB.</dd></dl>
 </li>
 </ul>
@@ -484,7 +498,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getDataLocality</h4>
-<pre>public&nbsp;float&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.176">getDataLocality</a>()</pre>
+<pre>public&nbsp;float&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.183">getDataLocality</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the data locality of region in the regionserver.</dd></dl>
 </li>
 </ul>
@@ -494,7 +508,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastMajorCompactionTs</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.186">getLastMajorCompactionTs</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.193">getLastMajorCompactionTs</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the timestamp of the oldest hfile for any store of this region.</dd></dl>
 </li>
 </ul>
@@ -504,7 +518,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.194">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/RegionLoad.html#line.201">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/ServerLoad.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ServerLoad.html b/devapidocs/org/apache/hadoop/hbase/ServerLoad.html
index 1204efa..c1b7c5c 100644
--- a/devapidocs/org/apache/hadoop/hbase/ServerLoad.html
+++ b/devapidocs/org/apache/hadoop/hbase/ServerLoad.html
@@ -127,54 +127,58 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#EMPTY_SERVERLOAD">EMPTY_SERVERLOAD</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#filteredReadRequestsCount">filteredReadRequestsCount</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#memstoreSizeMB">memstoreSizeMB</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#readRequestsCount">readRequestsCount</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#rootIndexSizeKB">rootIndexSizeKB</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#serverLoad">serverLoad</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#storefileIndexSizeMB">storefileIndexSizeMB</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#storefiles">storefiles</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#storefileSizeMB">storefileSizeMB</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#stores">stores</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#storeUncompressedSizeMB">storeUncompressedSizeMB</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#totalCompactingKVs">totalCompactingKVs</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#totalStaticBloomSizeKB">totalStaticBloomSizeKB</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#totalStaticIndexSizeKB">totalStaticIndexSizeKB</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#writeRequestsCount">writeRequestsCount</a></strong></code>&nbsp;</td>
 </tr>
@@ -215,137 +219,141 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getCurrentCompactedKVs()">getCurrentCompactedKVs</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getFilteredReadRequestsCount()">getFilteredReadRequestsCount</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getInfoServerPort()">getInfoServerPort</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getLoad()">getLoad</a></strong>()</code>
 <div class="block">Originally, this method factored in the effect of requests going to the
  server as well.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getMaxHeapMB()">getMaxHeapMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getMemstoreSizeInMB()">getMemstoreSizeInMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getNumberOfRegions()">getNumberOfRegions</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getNumberOfRequests()">getNumberOfRequests</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getReadRequestsCount()">getReadRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getRegionServerCoprocessors()">getRegionServerCoprocessors</a></strong>()</code>
 <div class="block">Return the RegionServer-level coprocessors</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getRegionsLoad()">getRegionsLoad</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/replication/ReplicationLoadSink.html" title="class in org.apache.hadoop.hbase.replication">ReplicationLoadSink</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getReplicationLoadSink()">getReplicationLoadSink</a></strong>()</code>
 <div class="block">Call directly from client such as hbase shell</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/replication/ReplicationLoadSource.html" title="class in org.apache.hadoop.hbase.replication">ReplicationLoadSource</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getReplicationLoadSourceList()">getReplicationLoadSourceList</a></strong>()</code>
 <div class="block">Call directly from client such as hbase shell</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getRequestsPerSecond()">getRequestsPerSecond</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getRootIndexSizeKB()">getRootIndexSizeKB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getRsCoprocessors()">getRsCoprocessors</a></strong>()</code>
 <div class="block">Return the RegionServer-level and Region-level coprocessors</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getStorefileIndexSizeInMB()">getStorefileIndexSizeInMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getStorefiles()">getStorefiles</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getStorefileSizeInMB()">getStorefileSizeInMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getStores()">getStores</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getStoreUncompressedSizeMB()">getStoreUncompressedSizeMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getTotalCompactingKVs()">getTotalCompactingKVs</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getTotalNumberOfRequests()">getTotalNumberOfRequests</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getTotalStaticBloomSizeKB()">getTotalStaticBloomSizeKB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getTotalStaticIndexSizeKB()">getTotalStaticIndexSizeKB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getUsedHeapMB()">getUsedHeapMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#getWriteRequestsCount()">getWriteRequestsCount</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#hasMaxHeapMB()">hasMaxHeapMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#hasNumberOfRequests()">hasNumberOfRequests</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#hasTotalNumberOfRequests()">hasTotalNumberOfRequests</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#hasUsedHeapMB()">hasUsedHeapMB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#obtainServerLoadPB()">obtainServerLoadPB</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html#toString()">toString</a></strong>()</code>&nbsp;</td>
 </tr>
@@ -434,13 +442,22 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <pre>private&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.51">readRequestsCount</a></pre>
 </li>
 </ul>
+<a name="filteredReadRequestsCount">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>filteredReadRequestsCount</h4>
+<pre>private&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.52">filteredReadRequestsCount</a></pre>
+</li>
+</ul>
 <a name="writeRequestsCount">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRequestsCount</h4>
-<pre>private&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.52">writeRequestsCount</a></pre>
+<pre>private&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.53">writeRequestsCount</a></pre>
 </li>
 </ul>
 <a name="rootIndexSizeKB">
@@ -449,7 +466,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>rootIndexSizeKB</h4>
-<pre>private&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.53">rootIndexSizeKB</a></pre>
+<pre>private&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.54">rootIndexSizeKB</a></pre>
 </li>
 </ul>
 <a name="totalStaticIndexSizeKB">
@@ -458,7 +475,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>totalStaticIndexSizeKB</h4>
-<pre>private&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.54">totalStaticIndexSizeKB</a></pre>
+<pre>private&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.55">totalStaticIndexSizeKB</a></pre>
 </li>
 </ul>
 <a name="totalStaticBloomSizeKB">
@@ -467,7 +484,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>totalStaticBloomSizeKB</h4>
-<pre>private&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.55">totalStaticBloomSizeKB</a></pre>
+<pre>private&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.56">totalStaticBloomSizeKB</a></pre>
 </li>
 </ul>
 <a name="totalCompactingKVs">
@@ -476,7 +493,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>totalCompactingKVs</h4>
-<pre>private&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.56">totalCompactingKVs</a></pre>
+<pre>private&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.57">totalCompactingKVs</a></pre>
 </li>
 </ul>
 <a name="currentCompactedKVs">
@@ -485,7 +502,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>currentCompactedKVs</h4>
-<pre>private&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.57">currentCompactedKVs</a></pre>
+<pre>private&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.58">currentCompactedKVs</a></pre>
 </li>
 </ul>
 <a name="serverLoad">
@@ -494,7 +511,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>serverLoad</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.86">serverLoad</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.88">serverLoad</a></pre>
 </li>
 </ul>
 <a name="EMPTY_SERVERLOAD">
@@ -503,7 +520,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>EMPTY_SERVERLOAD</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/ServerLoad.html" title="class in org.apache.hadoop.hbase">ServerLoad</a> <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.324">EMPTY_SERVERLOAD</a></pre>
+<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/ServerLoad.html" title="class in org.apache.hadoop.hbase">ServerLoad</a> <a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.332">EMPTY_SERVERLOAD</a></pre>
 </li>
 </ul>
 </li>
@@ -520,7 +537,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ServerLoad</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.59">ServerLoad</a>(org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad&nbsp;serverLoad)</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.60">ServerLoad</a>(org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad&nbsp;serverLoad)</pre>
 </li>
 </ul>
 </li>
@@ -537,7 +554,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>obtainServerLoadPB</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.82">obtainServerLoadPB</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.ServerLoad&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.84">obtainServerLoadPB</a>()</pre>
 </li>
 </ul>
 <a name="getNumberOfRequests()">
@@ -546,7 +563,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumberOfRequests</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.89">getNumberOfRequests</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.91">getNumberOfRequests</a>()</pre>
 </li>
 </ul>
 <a name="hasNumberOfRequests()">
@@ -555,7 +572,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hasNumberOfRequests</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.92">hasNumberOfRequests</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.94">hasNumberOfRequests</a>()</pre>
 </li>
 </ul>
 <a name="getTotalNumberOfRequests()">
@@ -564,7 +581,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalNumberOfRequests</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.97">getTotalNumberOfRequests</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.99">getTotalNumberOfRequests</a>()</pre>
 </li>
 </ul>
 <a name="hasTotalNumberOfRequests()">
@@ -573,7 +590,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hasTotalNumberOfRequests</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.100">hasTotalNumberOfRequests</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.102">hasTotalNumberOfRequests</a>()</pre>
 </li>
 </ul>
 <a name="getUsedHeapMB()">
@@ -582,7 +599,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getUsedHeapMB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.105">getUsedHeapMB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.107">getUsedHeapMB</a>()</pre>
 </li>
 </ul>
 <a name="hasUsedHeapMB()">
@@ -591,7 +608,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hasUsedHeapMB</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.108">hasUsedHeapMB</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.110">hasUsedHeapMB</a>()</pre>
 </li>
 </ul>
 <a name="getMaxHeapMB()">
@@ -600,7 +617,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxHeapMB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.113">getMaxHeapMB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.115">getMaxHeapMB</a>()</pre>
 </li>
 </ul>
 <a name="hasMaxHeapMB()">
@@ -609,7 +626,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hasMaxHeapMB</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.116">hasMaxHeapMB</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.118">hasMaxHeapMB</a>()</pre>
 </li>
 </ul>
 <a name="getStores()">
@@ -618,7 +635,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStores</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.120">getStores</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.122">getStores</a>()</pre>
 </li>
 </ul>
 <a name="getStorefiles()">
@@ -627,7 +644,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStorefiles</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.124">getStorefiles</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.126">getStorefiles</a>()</pre>
 </li>
 </ul>
 <a name="getStoreUncompressedSizeMB()">
@@ -636,7 +653,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreUncompressedSizeMB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.128">getStoreUncompressedSizeMB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.130">getStoreUncompressedSizeMB</a>()</pre>
 </li>
 </ul>
 <a name="getStorefileSizeInMB()">
@@ -645,7 +662,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStorefileSizeInMB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.132">getStorefileSizeInMB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.134">getStorefileSizeInMB</a>()</pre>
 </li>
 </ul>
 <a name="getMemstoreSizeInMB()">
@@ -654,7 +671,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMemstoreSizeInMB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.136">getMemstoreSizeInMB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.138">getMemstoreSizeInMB</a>()</pre>
 </li>
 </ul>
 <a name="getStorefileIndexSizeInMB()">
@@ -663,7 +680,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStorefileIndexSizeInMB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.140">getStorefileIndexSizeInMB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.142">getStorefileIndexSizeInMB</a>()</pre>
 </li>
 </ul>
 <a name="getReadRequestsCount()">
@@ -672,7 +689,16 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getReadRequestsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.144">getReadRequestsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.146">getReadRequestsCount</a>()</pre>
+</li>
+</ul>
+<a name="getFilteredReadRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFilteredReadRequestsCount</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.150">getFilteredReadRequestsCount</a>()</pre>
 </li>
 </ul>
 <a name="getWriteRequestsCount()">
@@ -681,7 +707,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteRequestsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.148">getWriteRequestsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.154">getWriteRequestsCount</a>()</pre>
 </li>
 </ul>
 <a name="getRootIndexSizeKB()">
@@ -690,7 +716,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRootIndexSizeKB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.152">getRootIndexSizeKB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.158">getRootIndexSizeKB</a>()</pre>
 </li>
 </ul>
 <a name="getTotalStaticIndexSizeKB()">
@@ -699,7 +725,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalStaticIndexSizeKB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.156">getTotalStaticIndexSizeKB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.162">getTotalStaticIndexSizeKB</a>()</pre>
 </li>
 </ul>
 <a name="getTotalStaticBloomSizeKB()">
@@ -708,7 +734,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalStaticBloomSizeKB</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.160">getTotalStaticBloomSizeKB</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.166">getTotalStaticBloomSizeKB</a>()</pre>
 </li>
 </ul>
 <a name="getTotalCompactingKVs()">
@@ -717,7 +743,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalCompactingKVs</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.164">getTotalCompactingKVs</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.170">getTotalCompactingKVs</a>()</pre>
 </li>
 </ul>
 <a name="getCurrentCompactedKVs()">
@@ -726,7 +752,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentCompactedKVs</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.168">getCurrentCompactedKVs</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.174">getCurrentCompactedKVs</a>()</pre>
 </li>
 </ul>
 <a name="getNumberOfRegions()">
@@ -735,7 +761,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumberOfRegions</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.175">getNumberOfRegions</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.181">getNumberOfRegions</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the number of regions</dd></dl>
 </li>
 </ul>
@@ -745,7 +771,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getInfoServerPort</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.179">getInfoServerPort</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.185">getInfoServerPort</a>()</pre>
 </li>
 </ul>
 <a name="getReplicationLoadSourceList()">
@@ -754,7 +780,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationLoadSourceList</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/replication/ReplicationLoadSource.html" title="class in org.apache.hadoop.hbase.replication">ReplicationLoadSource</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.187">getReplicationLoadSourceList</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/replication/ReplicationLoadSource.html" title="class in org.apache.hadoop.hbase.replication">ReplicationLoadSource</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.193">getReplicationLoadSourceList</a>()</pre>
 <div class="block">Call directly from client such as hbase shell</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the list of ReplicationLoadSource</dd></dl>
 </li>
@@ -765,7 +791,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationLoadSink</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/replication/ReplicationLoadSink.html" title="class in org.apache.hadoop.hbase.replication">ReplicationLoadSink</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.195">getReplicationLoadSink</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/replication/ReplicationLoadSink.html" title="class in org.apache.hadoop.hbase.replication">ReplicationLoadSink</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.201">getReplicationLoadSink</a>()</pre>
 <div class="block">Call directly from client such as hbase shell</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>ReplicationLoadSink</dd></dl>
 </li>
@@ -776,7 +802,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoad</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.212">getLoad</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.218">getLoad</a>()</pre>
 <div class="block">Originally, this method factored in the effect of requests going to the
  server as well. However, this does not interact very well with the current
  region rebalancing code, which only factors number of regions. For the
@@ -791,7 +817,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionsLoad</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.223">getRegionsLoad</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.229">getRegionsLoad</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>region load metrics</dd></dl>
 </li>
 </ul>
@@ -801,7 +827,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerCoprocessors</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.237">getRegionServerCoprocessors</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.243">getRegionServerCoprocessors</a>()</pre>
 <div class="block">Return the RegionServer-level coprocessors</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>string array of loaded RegionServer-level coprocessors</dd></dl>
 </li>
@@ -812,7 +838,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRsCoprocessors</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.253">getRsCoprocessors</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.259">getRsCoprocessors</a>()</pre>
 <div class="block">Return the RegionServer-level and Region-level coprocessors</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>string array of loaded RegionServer-level and
          Region-level coprocessors</dd></dl>
@@ -824,7 +850,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRequestsPerSecond</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.266">getRequestsPerSecond</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.272">getRequestsPerSecond</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>number of requests per second received since the last report</dd></dl>
 </li>
 </ul>
@@ -834,7 +860,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.274">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/ServerLoad.html#line.280">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
index c5145f3..f640d66 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
@@ -80,12 +80,12 @@
 </ul>
 <h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
 <ul>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceAudience.Public</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceStability.Evolving</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Unstable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceStability.Unstable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceAudience.Private</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceAudience.LimitedPrivate</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Stable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceStability.Stable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceStability.Evolving</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceAudience.Public</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceAudience.LimitedPrivate</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceAudience.Private</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
index 226b554..a574887 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -389,12 +389,12 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcess.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">AsyncProcess.Retry</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">IsolationLevel</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Admin.CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Admin.CompactType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Consistency</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">TableState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Durability</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">TableState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Consistency</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcess.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">AsyncProcess.Retry</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Admin.CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Admin.CompactType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
index e6e3116..eeb8529 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -162,12 +162,12 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.FilterRowRetCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">FilterWrapper.FilterRowRetCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">FuzzyRowFilter.SatisfiesCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">BitComparator.BitwiseOp</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">CompareFilter.CompareOp</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">RegexStringComparator.EngineType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">FuzzyRowFilter.SatisfiesCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">FuzzyRowFilter.Order</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">FilterList.Operator</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">CompareFilter.CompareOp</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">BitComparator.BitwiseOp</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">Filter.ReturnCode</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index 2017317..8fc38e4 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -272,10 +272,10 @@
 <ul>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">BlockType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">HFileBlock.Writer.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">Cacheable.MemoryType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">CacheConfig.ExternalBlockCaches</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">BlockPriority</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">BlockType.BlockCategory</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">CacheConfig.ExternalBlockCaches</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">Cacheable.MemoryType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
index f9ba087..08f430f 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -268,9 +268,9 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">SyncTable.SyncMapper.Counter</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">CellCounter.CellCounterMapper.Counters</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">TableSplit.Version</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">RowCounter.RowCounterMapper.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">TableSplit.Version</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">CellCounter.CellCounterMapper.Counters</span></a></li>
 </ul>
 </li>
 </ul>

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


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
index 937da14..2ffbf97 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
@@ -76,687 +76,696 @@
 <span class="sourceLineNo">068</span>  private volatile long storeFileSize = 0;<a name="line.68"></a>
 <span class="sourceLineNo">069</span>  private volatile double requestsPerSecond = 0.0;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>  private volatile long readRequestsCount = 0;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private volatile long writeRequestsCount = 0;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private volatile long checkAndMutateChecksFailed = 0;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private volatile long checkAndMutateChecksPassed = 0;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  private volatile long storefileIndexSize = 0;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private volatile long totalStaticIndexSize = 0;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private volatile long totalStaticBloomSize = 0;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  private volatile long numMutationsWithoutWAL = 0;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  private volatile long dataInMemoryWithoutWAL = 0;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  private volatile double percentFileLocal = 0;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  private volatile double percentFileLocalSecondaryRegions = 0;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private volatile long flushedCellsCount = 0;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  private volatile long compactedCellsCount = 0;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  private volatile long majorCompactedCellsCount = 0;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  private volatile long flushedCellsSize = 0;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  private volatile long compactedCellsSize = 0;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private volatile long majorCompactedCellsSize = 0;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private volatile long cellsCountCompactedToMob = 0;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  private volatile long cellsCountCompactedFromMob = 0;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  private volatile long cellsSizeCompactedToMob = 0;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private volatile long cellsSizeCompactedFromMob = 0;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  private volatile long mobFlushCount = 0;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  private volatile long mobFlushedCellsCount = 0;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  private volatile long mobFlushedCellsSize = 0;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  private volatile long mobScanCellsCount = 0;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  private volatile long mobScanCellsSize = 0;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  private volatile long mobFileCacheAccessCount = 0;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private volatile long mobFileCacheMissCount = 0;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  private volatile double mobFileCacheHitRatio = 0;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  private volatile long mobFileCacheEvictedCount = 0;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  private volatile long mobFileCacheCount = 0;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  private volatile long blockedRequestsCount = 0L;<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private CacheStats cacheStats;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  private ScheduledExecutorService executor;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  private Runnable runnable;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  private long period;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /**<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * Can be null if not on hdfs.<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  private DFSHedgedReadMetrics dfsHedgedReadMetrics;<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public MetricsRegionServerWrapperImpl(final HRegionServer regionServer) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    this.regionServer = regionServer;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    initBlockCache();<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    initMobFileCache();<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>    this.period =<a name="line.118"></a>
-<span class="sourceLineNo">119</span>        regionServer.conf.getLong(HConstants.REGIONSERVER_METRICS_PERIOD,<a name="line.119"></a>
-<span class="sourceLineNo">120</span>          HConstants.DEFAULT_REGIONSERVER_METRICS_PERIOD);<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>    this.executor = CompatibilitySingletonFactory.getInstance(MetricsExecutor.class).getExecutor();<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    this.runnable = new RegionServerMetricsWrapperRunnable();<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    this.executor.scheduleWithFixedDelay(this.runnable, this.period, this.period,<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      TimeUnit.MILLISECONDS);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    this.metricsWALSource = CompatibilitySingletonFactory.getInstance(MetricsWALSource.class);<a name="line.126"></a>
-<span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>    try {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      this.dfsHedgedReadMetrics = FSUtils.getDFSHedgedReadMetrics(regionServer.getConfiguration());<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    } catch (IOException e) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      LOG.warn("Failed to get hedged metrics", e);<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    if (LOG.isInfoEnabled()) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      LOG.info("Computing regionserver metrics every " + this.period + " milliseconds");<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    }<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  }<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span>  /**<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * It's possible that due to threading the block cache could not be initialized<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   * yet (testing multiple region servers in one jvm).  So we need to try and initialize<a name="line.140"></a>
-<span class="sourceLineNo">141</span>   * the blockCache and cacheStats reference multiple times until we succeed.<a name="line.141"></a>
-<span class="sourceLineNo">142</span>   */<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  private synchronized  void initBlockCache() {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    CacheConfig cacheConfig = this.regionServer.cacheConfig;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    if (cacheConfig != null &amp;&amp; this.blockCache == null) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      this.blockCache = cacheConfig.getBlockCache();<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    }<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>    if (this.blockCache != null &amp;&amp; this.cacheStats == null) {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      this.cacheStats = blockCache.getStats();<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
-<span class="sourceLineNo">153</span><a name="line.153"></a>
-<span class="sourceLineNo">154</span>  /**<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * Initializes the mob file cache.<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  private synchronized void initMobFileCache() {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    MobCacheConfig mobCacheConfig = this.regionServer.mobCacheConfig;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    if (mobCacheConfig != null &amp;&amp; this.mobFileCache == null) {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      this.mobFileCache = mobCacheConfig.getMobFileCache();<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    }<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>  @Override<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  public String getClusterId() {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    return regionServer.getClusterId();<a name="line.166"></a>
-<span class="sourceLineNo">167</span>  }<a name="line.167"></a>
-<span class="sourceLineNo">168</span><a name="line.168"></a>
-<span class="sourceLineNo">169</span>  @Override<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  public long getStartCode() {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    return regionServer.getStartcode();<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  }<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  @Override<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public String getZookeeperQuorum() {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    ZooKeeperWatcher zk = regionServer.getZooKeeper();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    if (zk == null) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return "";<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return zk.getQuorum();<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  @Override<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  public String getCoprocessors() {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    String[] coprocessors = regionServer.getRegionServerCoprocessors();<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    if (coprocessors == null || coprocessors.length == 0) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      return "";<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    return StringUtils.join(coprocessors, ", ");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  @Override<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  public String getServerName() {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    ServerName serverName = regionServer.getServerName();<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    if (serverName == null) {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      return "";<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    }<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    return serverName.getServerName();<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  }<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>  @Override<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  public long getNumOnlineRegions() {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    Collection&lt;Region&gt; onlineRegionsLocalContext = regionServer.getOnlineRegionsLocalContext();<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    if (onlineRegionsLocalContext == null) {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return 0;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    }<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    return onlineRegionsLocalContext.size();<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>  @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  public long getTotalRequestCount() {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    return regionServer.rpcServices.requestCount.get();<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  @Override<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  public int getSplitQueueSize() {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      return 0;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    return this.regionServer.compactSplitThread.getSplitQueueSize();<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  }<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>  @Override<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  public int getCompactionQueueSize() {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    //The thread could be zero.  if so assume there is no queue.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return 0;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    return this.regionServer.compactSplitThread.getCompactionQueueSize();<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  @Override<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public int getSmallCompactionQueueSize() {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    //The thread could be zero.  if so assume there is no queue.<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      return 0;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    }<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    return this.regionServer.compactSplitThread.getSmallCompactionQueueSize();<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  }<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  @Override<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public int getLargeCompactionQueueSize() {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    //The thread could be zero.  if so assume there is no queue.<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>      return 0;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    return this.regionServer.compactSplitThread.getLargeCompactionQueueSize();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>  @Override<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  public int getFlushQueueSize() {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    //If there is no flusher there should be no queue.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    if (this.regionServer.cacheFlusher == null) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      return 0;<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    }<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    return this.regionServer.cacheFlusher.getFlushQueueSize();<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  @Override<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  public long getBlockCacheCount() {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    if (this.blockCache == null) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      return 0;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    return this.blockCache.getBlockCount();<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  @Override<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  public long getBlockCacheSize() {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    if (this.blockCache == null) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      return 0;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    return this.blockCache.getCurrentSize();<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  @Override<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  public long getBlockCacheFreeSize() {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    if (this.blockCache == null) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      return 0;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    }<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    return this.blockCache.getFreeSize();<a name="line.280"></a>
-<span class="sourceLineNo">281</span>  }<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  @Override<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  public long getBlockCacheHitCount() {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    if (this.cacheStats == null) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      return 0;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    }<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    return this.cacheStats.getHitCount();<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  }<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>  @Override<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public long getBlockCachePrimaryHitCount() {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    if (this.cacheStats == null) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      return 0;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    return this.cacheStats.getPrimaryHitCount();<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>  @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  public long getBlockCacheMissCount() {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    if (this.cacheStats == null) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      return 0;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    }<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    return this.cacheStats.getMissCount();<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  @Override<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  public long getBlockCachePrimaryMissCount() {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    if (this.cacheStats == null) {<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      return 0;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    }<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return this.cacheStats.getPrimaryMissCount();<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @Override<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  public long getBlockCacheEvictedCount() {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    if (this.cacheStats == null) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      return 0;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    }<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    return this.cacheStats.getEvictedCount();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  }<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  @Override<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  public long getBlockCachePrimaryEvictedCount() {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    if (this.cacheStats == null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      return 0;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    }<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return this.cacheStats.getPrimaryEvictedCount();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  @Override<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public double getBlockCacheHitPercent() {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    if (this.cacheStats == null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      return 0;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    double ratio = this.cacheStats.getHitRatio();<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    if (Double.isNaN(ratio)) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      ratio = 0;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    }<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    return (ratio * 100);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  @Override<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  public double getBlockCacheHitCachingPercent() {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    if (this.cacheStats == null) {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      return 0;<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
-<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>    double ratio = this.cacheStats.getHitCachingRatio();<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>    if (Double.isNaN(ratio)) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      ratio = 0;<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    return (ratio * 100);<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  }<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>  @Override<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public long getBlockCacheFailedInsertions() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    return this.cacheStats.getFailedInserts();<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  @Override public void forceRecompute() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    this.runnable.run();<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
-<span class="sourceLineNo">365</span><a name="line.365"></a>
-<span class="sourceLineNo">366</span>  @Override<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  public long getNumStores() {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    return numStores;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  <a name="line.370"></a>
-<span class="sourceLineNo">371</span>  @Override<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  public long getNumWALFiles() {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    return numWALFiles;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  @Override<a name="line.376"></a>
-<span class="sourceLineNo">377</span>  public long getWALFileSize() {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    return walFileSize;<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  }<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>  @Override<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  public long getNumWALSlowAppend() {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return metricsWALSource.getSlowAppendCount();<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  <a name="line.385"></a>
-<span class="sourceLineNo">386</span>  @Override<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  public long getNumStoreFiles() {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    return numStoreFiles;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>  }<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>  @Override<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  public long getMemstoreSize() {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return memstoreSize;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  @Override<a name="line.396"></a>
-<span class="sourceLineNo">397</span>  public long getStoreFileSize() {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    return storeFileSize;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
-<span class="sourceLineNo">400</span><a name="line.400"></a>
-<span class="sourceLineNo">401</span>  @Override public double getRequestsPerSecond() {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    return requestsPerSecond;<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>  @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public long getReadRequestsCount() {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    return readRequestsCount;<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>  @Override<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  public long getWriteRequestsCount() {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    return writeRequestsCount;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>  }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>  @Override<a name="line.415"></a>
-<span class="sourceLineNo">416</span>  public long getCheckAndMutateChecksFailed() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    return checkAndMutateChecksFailed;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>  }<a name="line.418"></a>
-<span class="sourceLineNo">419</span><a name="line.419"></a>
-<span class="sourceLineNo">420</span>  @Override<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  public long getCheckAndMutateChecksPassed() {<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    return checkAndMutateChecksPassed;<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  }<a name="line.423"></a>
-<span class="sourceLineNo">424</span><a name="line.424"></a>
-<span class="sourceLineNo">425</span>  @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  public long getStoreFileIndexSize() {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    return storefileIndexSize;<a name="line.427"></a>
-<span class="sourceLineNo">428</span>  }<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>  @Override<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  public long getTotalStaticIndexSize() {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    return totalStaticIndexSize;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  }<a name="line.433"></a>
-<span class="sourceLineNo">434</span><a name="line.434"></a>
-<span class="sourceLineNo">435</span>  @Override<a name="line.435"></a>
-<span class="sourceLineNo">436</span>  public long getTotalStaticBloomSize() {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return totalStaticBloomSize;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  @Override<a name="line.440"></a>
-<span class="sourceLineNo">441</span>  public long getNumMutationsWithoutWAL() {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    return numMutationsWithoutWAL;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>  public long getDataInMemoryWithoutWAL() {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return dataInMemoryWithoutWAL;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  }<a name="line.448"></a>
-<span class="sourceLineNo">449</span><a name="line.449"></a>
-<span class="sourceLineNo">450</span>  @Override<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  public double getPercentFileLocal() {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    return percentFileLocal;<a name="line.452"></a>
-<span class="sourceLineNo">453</span>  }<a name="line.453"></a>
-<span class="sourceLineNo">454</span><a name="line.454"></a>
-<span class="sourceLineNo">455</span>  @Override<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  public double getPercentFileLocalSecondaryRegions() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    return percentFileLocalSecondaryRegions;<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>  @Override<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  public long getUpdatesBlockedTime() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    if (this.regionServer.cacheFlusher == null) {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      return 0;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    return this.regionServer.cacheFlusher.getUpdatesBlockedMsHighWater().get();<a name="line.465"></a>
-<span class="sourceLineNo">466</span>  }<a name="line.466"></a>
-<span class="sourceLineNo">467</span><a name="line.467"></a>
-<span class="sourceLineNo">468</span>  @Override<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  public long getFlushedCellsCount() {<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    return flushedCellsCount;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  }<a name="line.471"></a>
-<span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span>  @Override<a name="line.473"></a>
-<span class="sourceLineNo">474</span>  public long getCompactedCellsCount() {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    return compactedCellsCount;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>  }<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>  @Override<a name="line.478"></a>
-<span class="sourceLineNo">479</span>  public long getMajorCompactedCellsCount() {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    return majorCompactedCellsCount;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>  }<a name="line.481"></a>
-<span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span>  @Override<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  public long getFlushedCellsSize() {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    return flushedCellsSize;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>  }<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>  @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public long getCompactedCellsSize() {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    return compactedCellsSize;<a name="line.490"></a>
-<span class="sourceLineNo">491</span>  }<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>  @Override<a name="line.493"></a>
-<span class="sourceLineNo">494</span>  public long getMajorCompactedCellsSize() {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    return majorCompactedCellsSize;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  }<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>  @Override<a name="line.498"></a>
-<span class="sourceLineNo">499</span>  public long getCellsCountCompactedFromMob() {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    return cellsCountCompactedFromMob;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  }<a name="line.501"></a>
-<span class="sourceLineNo">502</span><a name="line.502"></a>
-<span class="sourceLineNo">503</span>  @Override<a name="line.503"></a>
-<span class="sourceLineNo">504</span>  public long getCellsCountCompactedToMob() {<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    return cellsCountCompactedToMob;<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>  @Override<a name="line.508"></a>
-<span class="sourceLineNo">509</span>  public long getCellsSizeCompactedFromMob() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    return cellsSizeCompactedFromMob;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  }<a name="line.511"></a>
-<span class="sourceLineNo">512</span><a name="line.512"></a>
-<span class="sourceLineNo">513</span>  @Override<a name="line.513"></a>
-<span class="sourceLineNo">514</span>  public long getCellsSizeCompactedToMob() {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    return cellsSizeCompactedToMob;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>  @Override<a name="line.518"></a>
-<span class="sourceLineNo">519</span>  public long getMobFlushCount() {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    return mobFlushCount;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>  }<a name="line.521"></a>
-<span class="sourceLineNo">522</span><a name="line.522"></a>
-<span class="sourceLineNo">523</span>  @Override<a name="line.523"></a>
-<span class="sourceLineNo">524</span>  public long getMobFlushedCellsCount() {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    return mobFlushedCellsCount;<a name="line.525"></a>
-<span class="sourceLineNo">526</span>  }<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span>  @Override<a name="line.528"></a>
-<span class="sourceLineNo">529</span>  public long getMobFlushedCellsSize() {<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    return mobFlushedCellsSize;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>  }<a name="line.531"></a>
-<span class="sourceLineNo">532</span><a name="line.532"></a>
-<span class="sourceLineNo">533</span>  @Override<a name="line.533"></a>
-<span class="sourceLineNo">534</span>  public long getMobScanCellsCount() {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    return mobScanCellsCount;<a name="line.535"></a>
-<span class="sourceLineNo">536</span>  }<a name="line.536"></a>
-<span class="sourceLineNo">537</span><a name="line.537"></a>
-<span class="sourceLineNo">538</span>  @Override<a name="line.538"></a>
-<span class="sourceLineNo">539</span>  public long getMobScanCellsSize() {<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    return mobScanCellsSize;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>  }<a name="line.541"></a>
-<span class="sourceLineNo">542</span><a name="line.542"></a>
-<span class="sourceLineNo">543</span>  @Override<a name="line.543"></a>
-<span class="sourceLineNo">544</span>  public long getMobFileCacheAccessCount() {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return mobFileCacheAccessCount;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  @Override<a name="line.548"></a>
-<span class="sourceLineNo">549</span>  public long getMobFileCacheMissCount() {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    return mobFileCacheMissCount;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>  }<a name="line.551"></a>
-<span class="sourceLineNo">552</span><a name="line.552"></a>
-<span class="sourceLineNo">553</span>  @Override<a name="line.553"></a>
-<span class="sourceLineNo">554</span>  public long getMobFileCacheCount() {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    return mobFileCacheCount;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>  }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>  @Override<a name="line.558"></a>
-<span class="sourceLineNo">559</span>  public long getMobFileCacheEvictedCount() {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    return mobFileCacheEvictedCount;<a name="line.560"></a>
-<span class="sourceLineNo">561</span>  }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>  @Override<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  public double getMobFileCacheHitPercent() {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    return mobFileCacheHitRatio * 100;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  }<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  /**<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * This is the runnable that will be executed on the executor every PERIOD number of seconds<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * It will take metrics/numbers from all of the regions and use them to compute point in<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * time metrics.<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  public class RegionServerMetricsWrapperRunnable implements Runnable {<a name="line.573"></a>
-<span class="sourceLineNo">574</span><a name="line.574"></a>
-<span class="sourceLineNo">575</span>    private long lastRan = 0;<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    private long lastRequestCount = 0;<a name="line.576"></a>
-<span class="sourceLineNo">577</span><a name="line.577"></a>
-<span class="sourceLineNo">578</span>    @Override<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    synchronized public void run() {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      try {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        initBlockCache();<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        initMobFileCache();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        cacheStats = blockCache.getStats();<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>        HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.585"></a>
-<span class="sourceLineNo">586</span>            new HDFSBlocksDistribution();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        HDFSBlocksDistribution hdfsBlocksDistributionSecondaryRegions =<a name="line.587"></a>
-<span class="sourceLineNo">588</span>            new HDFSBlocksDistribution();<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>        long tempNumStores = 0, tempNumStoreFiles = 0, tempMemstoreSize = 0, tempStoreFileSize = 0;<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        long tempReadRequestsCount = 0, tempWriteRequestsCount = 0;<a name="line.591"></a>
-<span class="sourceLineNo">592</span>        long tempCheckAndMutateChecksFailed = 0;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        long tempCheckAndMutateChecksPassed = 0;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>        long tempStorefileIndexSize = 0;<a name="line.594"></a>
-<span class="sourceLineNo">595</span>        long tempTotalStaticIndexSize = 0;<a name="line.595"></a>
-<span class="sourceLineNo">596</span>        long tempTotalStaticBloomSize = 0;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>        long tempNumMutationsWithoutWAL = 0;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>        long tempDataInMemoryWithoutWAL = 0;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>        double tempPercentFileLocal = 0;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>        double tempPercentFileLocalSecondaryRegions = 0;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>        long tempFlushedCellsCount = 0;<a name="line.601"></a>
-<span class="sourceLineNo">602</span>        long tempCompactedCellsCount = 0;<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        long tempMajorCompactedCellsCount = 0;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>        long tempFlushedCellsSize = 0;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        long tempCompactedCellsSize = 0;<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        long tempMajorCompactedCellsSize = 0;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>        long tempCellsCountCompactedToMob = 0;<a name="line.607"></a>
-<span class="sourceLineNo">608</span>        long tempCellsCountCompactedFromMob = 0;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>        long tempCellsSizeCompactedToMob = 0;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>        long tempCellsSizeCompactedFromMob = 0;<a name="line.610"></a>
-<span class="sourceLineNo">611</span>        long tempMobFlushCount = 0;<a name="line.611"></a>
-<span class="sourceLineNo">612</span>        long tempMobFlushedCellsCount = 0;<a name="line.612"></a>
-<span class="sourceLineNo">613</span>        long tempMobFlushedCellsSize = 0;<a name="line.613"></a>
-<span class="sourceLineNo">614</span>        long tempMobScanCellsCount = 0;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>        long tempMobScanCellsSize = 0;<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        long tempBlockedRequestsCount = 0;<a name="line.616"></a>
-<span class="sourceLineNo">617</span><a name="line.617"></a>
-<span class="sourceLineNo">618</span>        for (Region r : regionServer.getOnlineRegionsLocalContext()) {<a name="line.618"></a>
-<span class="sourceLineNo">619</span>          tempNumMutationsWithoutWAL += r.getNumMutationsWithoutWAL();<a name="line.619"></a>
-<span class="sourceLineNo">620</span>          tempDataInMemoryWithoutWAL += r.getDataInMemoryWithoutWAL();<a name="line.620"></a>
-<span class="sourceLineNo">621</span>          tempReadRequestsCount += r.getReadRequestsCount();<a name="line.621"></a>
-<span class="sourceLineNo">622</span>          tempWriteRequestsCount += r.getWriteRequestsCount();<a name="line.622"></a>
-<span class="sourceLineNo">623</span>          tempCheckAndMutateChecksFailed += r.getCheckAndMutateChecksFailed();<a name="line.623"></a>
-<span class="sourceLineNo">624</span>          tempCheckAndMutateChecksPassed += r.getCheckAndMutateChecksPassed();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>          tempBlockedRequestsCount += r.getBlockedRequestsCount();<a name="line.625"></a>
-<span class="sourceLineNo">626</span>          List&lt;Store&gt; storeList = r.getStores();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>          tempNumStores += storeList.size();<a name="line.627"></a>
-<span class="sourceLineNo">628</span>          for (Store store : storeList) {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>            tempNumStoreFiles += store.getStorefilesCount();<a name="line.629"></a>
-<span class="sourceLineNo">630</span>            tempMemstoreSize += store.getMemStoreSize();<a name="line.630"></a>
-<span class="sourceLineNo">631</span>            tempStoreFileSize += store.getStorefilesSize();<a name="line.631"></a>
-<span class="sourceLineNo">632</span>            tempStorefileIndexSize += store.getStorefilesIndexSize();<a name="line.632"></a>
-<span class="sourceLineNo">633</span>            tempTotalStaticBloomSize += store.getTotalStaticBloomSize();<a name="line.633"></a>
-<span class="sourceLineNo">634</span>            tempTotalStaticIndexSize += store.getTotalStaticIndexSize();<a name="line.634"></a>
-<span class="sourceLineNo">635</span>            tempFlushedCellsCount += store.getFlushedCellsCount();<a name="line.635"></a>
-<span class="sourceLineNo">636</span>            tempCompactedCellsCount += store.getCompactedCellsCount();<a name="line.636"></a>
-<span class="sourceLineNo">637</span>            tempMajorCompactedCellsCount += store.getMajorCompactedCellsCount();<a name="line.637"></a>
-<span class="sourceLineNo">638</span>            tempFlushedCellsSize += store.getFlushedCellsSize();<a name="line.638"></a>
-<span class="sourceLineNo">639</span>            tempCompactedCellsSize += store.getCompactedCellsSize();<a name="line.639"></a>
-<span class="sourceLineNo">640</span>            tempMajorCompactedCellsSize += store.getMajorCompactedCellsSize();<a name="line.640"></a>
-<span class="sourceLineNo">641</span>            if (store instanceof HMobStore) {<a name="line.641"></a>
-<span class="sourceLineNo">642</span>              HMobStore mobStore = (HMobStore) store;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>              tempCellsCountCompactedToMob += mobStore.getCellsCountCompactedToMob();<a name="line.643"></a>
-<span class="sourceLineNo">644</span>              tempCellsCountCompactedFromMob += mobStore.getCellsCountCompactedFromMob();<a name="line.644"></a>
-<span class="sourceLineNo">645</span>              tempCellsSizeCompactedToMob += mobStore.getCellsSizeCompactedToMob();<a name="line.645"></a>
-<span class="sourceLineNo">646</span>              tempCellsSizeCompactedFromMob += mobStore.getCellsSizeCompactedFromMob();<a name="line.646"></a>
-<span class="sourceLineNo">647</span>              tempMobFlushCount += mobStore.getMobFlushCount();<a name="line.647"></a>
-<span class="sourceLineNo">648</span>              tempMobFlushedCellsCount += mobStore.getMobFlushedCellsCount();<a name="line.648"></a>
-<span class="sourceLineNo">649</span>              tempMobFlushedCellsSize += mobStore.getMobFlushedCellsSize();<a name="line.649"></a>
-<span class="sourceLineNo">650</span>              tempMobScanCellsCount += mobStore.getMobScanCellsCount();<a name="line.650"></a>
-<span class="sourceLineNo">651</span>              tempMobScanCellsSize += mobStore.getMobScanCellsSize();<a name="line.651"></a>
-<span class="sourceLineNo">652</span>            }<a name="line.652"></a>
-<span class="sourceLineNo">653</span>          }<a name="line.653"></a>
-<span class="sourceLineNo">654</span><a name="line.654"></a>
-<span class="sourceLineNo">655</span>          HDFSBlocksDistribution distro = r.getHDFSBlocksDistribution();<a name="line.655"></a>
-<span class="sourceLineNo">656</span>          hdfsBlocksDistribution.add(distro);<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          if (r.getRegionInfo().getReplicaId() != HRegionInfo.DEFAULT_REPLICA_ID) {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>            hdfsBlocksDistributionSecondaryRegions.add(distro);<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          }<a name="line.659"></a>
-<span class="sourceLineNo">660</span>        }<a name="line.660"></a>
-<span class="sourceLineNo">661</span>        float localityIndex = hdfsBlocksDistribution.getBlockLocalityIndex(<a name="line.661"></a>
-<span class="sourceLineNo">662</span>            regionServer.getServerName().getHostname());<a name="line.662"></a>
-<span class="sourceLineNo">663</span>        tempPercentFileLocal = Double.isNaN(tempBlockedRequestsCount) ? 0 : (localityIndex * 100);<a name="line.663"></a>
-<span class="sourceLineNo">664</span><a name="line.664"></a>
-<span class="sourceLineNo">665</span>        float localityIndexSecondaryRegions = hdfsBlocksDistributionSecondaryRegions<a name="line.665"></a>
-<span class="sourceLineNo">666</span>            .getBlockLocalityIndex(regionServer.getServerName().getHostname());<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        tempPercentFileLocalSecondaryRegions = Double.<a name="line.667"></a>
-<span class="sourceLineNo">668</span>            isNaN(localityIndexSecondaryRegions) ? 0 : (localityIndexSecondaryRegions * 100);<a name="line.668"></a>
-<span class="sourceLineNo">669</span><a name="line.669"></a>
-<span class="sourceLineNo">670</span>        // Compute the number of requests per second<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        long currentTime = EnvironmentEdgeManager.currentTime();<a name="line.671"></a>
+<span class="sourceLineNo">071</span>  private volatile long filteredReadRequestsCount = 0;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private volatile long writeRequestsCount = 0;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private volatile long checkAndMutateChecksFailed = 0;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  private volatile long checkAndMutateChecksPassed = 0;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  private volatile long storefileIndexSize = 0;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  private volatile long totalStaticIndexSize = 0;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  private volatile long totalStaticBloomSize = 0;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  private volatile long numMutationsWithoutWAL = 0;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  private volatile long dataInMemoryWithoutWAL = 0;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  private volatile double percentFileLocal = 0;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  private volatile double percentFileLocalSecondaryRegions = 0;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  private volatile long flushedCellsCount = 0;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  private volatile long compactedCellsCount = 0;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  private volatile long majorCompactedCellsCount = 0;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private volatile long flushedCellsSize = 0;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  private volatile long compactedCellsSize = 0;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  private volatile long majorCompactedCellsSize = 0;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private volatile long cellsCountCompactedToMob = 0;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  private volatile long cellsCountCompactedFromMob = 0;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  private volatile long cellsSizeCompactedToMob = 0;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private volatile long cellsSizeCompactedFromMob = 0;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  private volatile long mobFlushCount = 0;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  private volatile long mobFlushedCellsCount = 0;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  private volatile long mobFlushedCellsSize = 0;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  private volatile long mobScanCellsCount = 0;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  private volatile long mobScanCellsSize = 0;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  private volatile long mobFileCacheAccessCount = 0;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  private volatile long mobFileCacheMissCount = 0;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  private volatile double mobFileCacheHitRatio = 0;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  private volatile long mobFileCacheEvictedCount = 0;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  private volatile long mobFileCacheCount = 0;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  private volatile long blockedRequestsCount = 0L;<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  private CacheStats cacheStats;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  private ScheduledExecutorService executor;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  private Runnable runnable;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  private long period;<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>  /**<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   * Can be null if not on hdfs.<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  private DFSHedgedReadMetrics dfsHedgedReadMetrics;<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public MetricsRegionServerWrapperImpl(final HRegionServer regionServer) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    this.regionServer = regionServer;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    initBlockCache();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    initMobFileCache();<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>    this.period =<a name="line.119"></a>
+<span class="sourceLineNo">120</span>        regionServer.conf.getLong(HConstants.REGIONSERVER_METRICS_PERIOD,<a name="line.120"></a>
+<span class="sourceLineNo">121</span>          HConstants.DEFAULT_REGIONSERVER_METRICS_PERIOD);<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span>    this.executor = CompatibilitySingletonFactory.getInstance(MetricsExecutor.class).getExecutor();<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    this.runnable = new RegionServerMetricsWrapperRunnable();<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    this.executor.scheduleWithFixedDelay(this.runnable, this.period, this.period,<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      TimeUnit.MILLISECONDS);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    this.metricsWALSource = CompatibilitySingletonFactory.getInstance(MetricsWALSource.class);<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>    try {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      this.dfsHedgedReadMetrics = FSUtils.getDFSHedgedReadMetrics(regionServer.getConfiguration());<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    } catch (IOException e) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      LOG.warn("Failed to get hedged metrics", e);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    }<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    if (LOG.isInfoEnabled()) {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      LOG.info("Computing regionserver metrics every " + this.period + " milliseconds");<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    }<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  }<a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>  /**<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * It's possible that due to threading the block cache could not be initialized<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * yet (testing multiple region servers in one jvm).  So we need to try and initialize<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   * the blockCache and cacheStats reference multiple times until we succeed.<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   */<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  private synchronized  void initBlockCache() {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    CacheConfig cacheConfig = this.regionServer.cacheConfig;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    if (cacheConfig != null &amp;&amp; this.blockCache == null) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      this.blockCache = cacheConfig.getBlockCache();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span>    if (this.blockCache != null &amp;&amp; this.cacheStats == null) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      this.cacheStats = blockCache.getStats();<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  /**<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * Initializes the mob file cache.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  private synchronized void initMobFileCache() {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    MobCacheConfig mobCacheConfig = this.regionServer.mobCacheConfig;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    if (mobCacheConfig != null &amp;&amp; this.mobFileCache == null) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      this.mobFileCache = mobCacheConfig.getMobFileCache();<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>  @Override<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public String getClusterId() {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    return regionServer.getClusterId();<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  }<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>  @Override<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  public long getStartCode() {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return regionServer.getStartcode();<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>  @Override<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public String getZookeeperQuorum() {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    ZooKeeperWatcher zk = regionServer.getZooKeeper();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    if (zk == null) {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      return "";<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return zk.getQuorum();<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  }<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>  @Override<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  public String getCoprocessors() {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    String[] coprocessors = regionServer.getRegionServerCoprocessors();<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    if (coprocessors == null || coprocessors.length == 0) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>      return "";<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    }<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    return StringUtils.join(coprocessors, ", ");<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
+<span class="sourceLineNo">192</span><a name="line.192"></a>
+<span class="sourceLineNo">193</span>  @Override<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  public String getServerName() {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    ServerName serverName = regionServer.getServerName();<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    if (serverName == null) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      return "";<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    return serverName.getServerName();<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  }<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>  @Override<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  public long getNumOnlineRegions() {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    Collection&lt;Region&gt; onlineRegionsLocalContext = regionServer.getOnlineRegionsLocalContext();<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    if (onlineRegionsLocalContext == null) {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      return 0;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    }<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    return onlineRegionsLocalContext.size();<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>  @Override<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  public long getTotalRequestCount() {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    return regionServer.rpcServices.requestCount.get();<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>  @Override<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  public int getSplitQueueSize() {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      return 0;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    }<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    return this.regionServer.compactSplitThread.getSplitQueueSize();<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  }<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>  @Override<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  public int getCompactionQueueSize() {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    //The thread could be zero.  if so assume there is no queue.<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      return 0;<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    return this.regionServer.compactSplitThread.getCompactionQueueSize();<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  }<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>  @Override<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  public int getSmallCompactionQueueSize() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    //The thread could be zero.  if so assume there is no queue.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      return 0;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    return this.regionServer.compactSplitThread.getSmallCompactionQueueSize();<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  @Override<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  public int getLargeCompactionQueueSize() {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    //The thread could be zero.  if so assume there is no queue.<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    if (this.regionServer.compactSplitThread == null) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      return 0;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    }<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    return this.regionServer.compactSplitThread.getLargeCompactionQueueSize();<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
+<span class="sourceLineNo">250</span><a name="line.250"></a>
+<span class="sourceLineNo">251</span>  @Override<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  public int getFlushQueueSize() {<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    //If there is no flusher there should be no queue.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    if (this.regionServer.cacheFlusher == null) {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      return 0;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    }<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    return this.regionServer.cacheFlusher.getFlushQueueSize();<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  }<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  @Override<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  public long getBlockCacheCount() {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    if (this.blockCache == null) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      return 0;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    return this.blockCache.getBlockCount();<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>  @Override<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  public long getBlockCacheSize() {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    if (this.blockCache == null) {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      return 0;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    return this.blockCache.getCurrentSize();<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  @Override<a name="line.276"></a>
+<span class="sourceLineNo">277</span>  public long getBlockCacheFreeSize() {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    if (this.blockCache == null) {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      return 0;<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    return this.blockCache.getFreeSize();<a name="line.281"></a>
+<span class="sourceLineNo">282</span>  }<a name="line.282"></a>
+<span class="sourceLineNo">283</span><a name="line.283"></a>
+<span class="sourceLineNo">284</span>  @Override<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public long getBlockCacheHitCount() {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    if (this.cacheStats == null) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      return 0;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    }<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    return this.cacheStats.getHitCount();<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  }<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>  @Override<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  public long getBlockCachePrimaryHitCount() {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    if (this.cacheStats == null) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      return 0;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    }<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    return this.cacheStats.getPrimaryHitCount();<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  }<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>  @Override<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  public long getBlockCacheMissCount() {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    if (this.cacheStats == null) {<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      return 0;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    return this.cacheStats.getMissCount();<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  }<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>  @Override<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  public long getBlockCachePrimaryMissCount() {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    if (this.cacheStats == null) {<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      return 0;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    return this.cacheStats.getPrimaryMissCount();<a name="line.313"></a>
+<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  public long getBlockCacheEvictedCount() {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    if (this.cacheStats == null) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      return 0;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    return this.cacheStats.getEvictedCount();<a name="line.321"></a>
+<span class="sourceLineNo">322</span>  }<a name="line.322"></a>
+<span class="sourceLineNo">323</span><a name="line.323"></a>
+<span class="sourceLineNo">324</span>  @Override<a name="line.324"></a>
+<span class="sourceLineNo">325</span>  public long getBlockCachePrimaryEvictedCount() {<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    if (this.cacheStats == null) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      return 0;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    return this.cacheStats.getPrimaryEvictedCount();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>  @Override<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  public double getBlockCacheHitPercent() {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>    if (this.cacheStats == null) {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      return 0;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    }<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    double ratio = this.cacheStats.getHitRatio();<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    if (Double.isNaN(ratio)) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>      ratio = 0;<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    }<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    return (ratio * 100);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>  }<a name="line.342"></a>
+<span class="sourceLineNo">343</span><a name="line.343"></a>
+<span class="sourceLineNo">344</span>  @Override<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  public double getBlockCacheHitCachingPercent() {<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    if (this.cacheStats == null) {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      return 0;<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    }<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>    double ratio = this.cacheStats.getHitCachingRatio();<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>    if (Double.isNaN(ratio)) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      ratio = 0;<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    }<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    return (ratio * 100);<a name="line.355"></a>
+<span class="sourceLineNo">356</span>  }<a name="line.356"></a>
+<span class="sourceLineNo">357</span><a name="line.357"></a>
+<span class="sourceLineNo">358</span>  @Override<a name="line.358"></a>
+<span class="sourceLineNo">359</span>  public long getBlockCacheFailedInsertions() {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    return this.cacheStats.getFailedInserts();<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
+<span class="sourceLineNo">362</span><a name="line.362"></a>
+<span class="sourceLineNo">363</span>  @Override public void forceRecompute() {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    this.runnable.run();<a name="line.364"></a>
+<span class="sourceLineNo">365</span>  }<a name="line.365"></a>
+<span class="sourceLineNo">366</span><a name="line.366"></a>
+<span class="sourceLineNo">367</span>  @Override<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  public long getNumStores() {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    return numStores;<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  }<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  <a name="line.371"></a>
+<span class="sourceLineNo">372</span>  @Override<a name="line.372"></a>
+<span class="sourceLineNo">373</span>  public long getNumWALFiles() {<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    return numWALFiles;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  }<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span>  @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  public long getWALFileSize() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    return walFileSize;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>  }<a name="line.380"></a>
+<span class="sourceLineNo">381</span><a name="line.381"></a>
+<span class="sourceLineNo">382</span>  @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span>  public long getNumWALSlowAppend() {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    return metricsWALSource.getSlowAppendCount();<a name="line.384"></a>
+<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>  <a name="line.386"></a>
+<span class="sourceLineNo">387</span>  @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span>  public long getNumStoreFiles() {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    return numStoreFiles;<a name="line.389"></a>
+<span class="sourceLineNo">390</span>  }<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>  @Override<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  public long getMemstoreSize() {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    return memstoreSize;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>  }<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span>  @Override<a name="line.397"></a>
+<span class="sourceLineNo">398</span>  public long getStoreFileSize() {<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    return storeFileSize;<a name="line.399"></a>
+<span class="sourceLineNo">400</span>  }<a name="line.400"></a>
+<span class="sourceLineNo">401</span><a name="line.401"></a>
+<span class="sourceLineNo">402</span>  @Override public double getRequestsPerSecond() {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    return requestsPerSecond;<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  }<a name="line.404"></a>
+<span class="sourceLineNo">405</span><a name="line.405"></a>
+<span class="sourceLineNo">406</span>  @Override<a name="line.406"></a>
+<span class="sourceLineNo">407</span>  public long getReadRequestsCount() {<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    return readRequestsCount;<a name="line.408"></a>
+<span class="sourceLineNo">409</span>  }<a name="line.409"></a>
+<span class="sourceLineNo">410</span><a name="line.410"></a>
+<span class="sourceLineNo">411</span>  @Override<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  public long getFilteredReadRequestsCount() {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    return filteredReadRequestsCount;<a name="line.413"></a>
+<span class="sourceLineNo">414</span>  }<a name="line.414"></a>
+<span class="sourceLineNo">415</span><a name="line.415"></a>
+<span class="sourceLineNo">416</span>  @Override<a name="line.416"></a>
+<span class="sourceLineNo">417</span>  public long getWriteRequestsCount() {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    return writeRequestsCount;<a name="line.418"></a>
+<span class="sourceLineNo">419</span>  }<a name="line.419"></a>
+<span class="sourceLineNo">420</span><a name="line.420"></a>
+<span class="sourceLineNo">421</span>  @Override<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  public long getCheckAndMutateChecksFailed() {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    return checkAndMutateChecksFailed;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
+<span class="sourceLineNo">425</span><a name="line.425"></a>
+<span class="sourceLineNo">426</span>  @Override<a name="line.426"></a>
+<span class="sourceLineNo">427</span>  public long getCheckAndMutateChecksPassed() {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    return checkAndMutateChecksPassed;<a name="line.428"></a>
+<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
+<span class="sourceLineNo">430</span><a name="line.430"></a>
+<span class="sourceLineNo">431</span>  @Override<a name="line.431"></a>
+<span class="sourceLineNo">432</span>  public long getStoreFileIndexSize() {<a name="line.432"></a>
+<span class="sourceLineNo">433</span>    return storefileIndexSize;<a name="line.433"></a>
+<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
+<span class="sourceLineNo">435</span><a name="line.435"></a>
+<span class="sourceLineNo">436</span>  @Override<a name="line.436"></a>
+<span class="sourceLineNo">437</span>  public long getTotalStaticIndexSize() {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    return totalStaticIndexSize;<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
+<span class="sourceLineNo">440</span><a name="line.440"></a>
+<span class="sourceLineNo">441</span>  @Override<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  public long getTotalStaticBloomSize() {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    return totalStaticBloomSize;<a name="line.443"></a>
+<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
+<span class="sourceLineNo">445</span><a name="line.445"></a>
+<span class="sourceLineNo">446</span>  @Override<a name="line.446"></a>
+<span class="sourceLineNo">447</span>  public long getNumMutationsWithoutWAL() {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    return numMutationsWithoutWAL;<a name="line.448"></a>
+<span class="sourceLineNo">449</span>  }<a name="line.449"></a>
+<span class="sourceLineNo">450</span><a name="line.450"></a>
+<span class="sourceLineNo">451</span>  @Override<a name="line.451"></a>
+<span class="sourceLineNo">452</span>  public long getDataInMemoryWithoutWAL() {<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    return dataInMemoryWithoutWAL;<a name="line.453"></a>
+<span class="sourceLineNo">454</span>  }<a name="line.454"></a>
+<span class="sourceLineNo">455</span><a name="line.455"></a>
+<span class="sourceLineNo">456</span>  @Override<a name="line.456"></a>
+<span class="sourceLineNo">457</span>  public double getPercentFileLocal() {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return percentFileLocal;<a name="line.458"></a>
+<span class="sourceLineNo">459</span>  }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>  @Override<a name="line.461"></a>
+<span class="sourceLineNo">462</span>  public double getPercentFileLocalSecondaryRegions() {<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    return percentFileLocalSecondaryRegions;<a name="line.463"></a>
+<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
+<span class="sourceLineNo">465</span><a name="line.465"></a>
+<span class="sourceLineNo">466</span>  @Over

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html
index 5acbf19..365d061 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html
@@ -193,523 +193,526 @@
 <span class="sourceLineNo">185</span>   */<a name="line.185"></a>
 <span class="sourceLineNo">186</span>  void updateReadRequestsCount(long i);<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  /** @return write request count for this region */<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  long getWriteRequestsCount();<a name="line.189"></a>
+<span class="sourceLineNo">188</span>  /** @return filtered read requests count for this region */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  long getFilteredReadRequestsCount();<a name="line.189"></a>
 <span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  /**<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   * Update the write request count for this region<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @param i increment<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   */<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  void updateWriteRequestsCount(long i);<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  /** @return memstore size for this region, in bytes */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  long getMemstoreSize();<a name="line.198"></a>
+<span class="sourceLineNo">191</span>  /** @return write request count for this region */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  long getWriteRequestsCount();<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  /**<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * Update the write request count for this region<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @param i increment<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  void updateWriteRequestsCount(long i);<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /** @return the number of mutations processed bypassing the WAL */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  long getNumMutationsWithoutWAL();<a name="line.201"></a>
+<span class="sourceLineNo">200</span>  /** @return memstore size for this region, in bytes */<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  long getMemstoreSize();<a name="line.201"></a>
 <span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>  /** @return the size of data processed bypassing the WAL, in bytes */<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  long getDataInMemoryWithoutWAL();<a name="line.204"></a>
+<span class="sourceLineNo">203</span>  /** @return the number of mutations processed bypassing the WAL */<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  long getNumMutationsWithoutWAL();<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  /** @return the number of blocked requests */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  long getBlockedRequestsCount();<a name="line.207"></a>
+<span class="sourceLineNo">206</span>  /** @return the size of data processed bypassing the WAL, in bytes */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  long getDataInMemoryWithoutWAL();<a name="line.207"></a>
 <span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /** @return the number of checkAndMutate guards that passed */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  long getCheckAndMutateChecksPassed();<a name="line.210"></a>
+<span class="sourceLineNo">209</span>  /** @return the number of blocked requests */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  long getBlockedRequestsCount();<a name="line.210"></a>
 <span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>  /** @return the number of failed checkAndMutate guards */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  long getCheckAndMutateChecksFailed();<a name="line.213"></a>
+<span class="sourceLineNo">212</span>  /** @return the number of checkAndMutate guards that passed */<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  long getCheckAndMutateChecksPassed();<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /** @return the MetricsRegion for this region */<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  MetricsRegion getMetrics();<a name="line.216"></a>
+<span class="sourceLineNo">215</span>  /** @return the number of failed checkAndMutate guards */<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  long getCheckAndMutateChecksFailed();<a name="line.216"></a>
 <span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  /** @return the block distribution for all Stores managed by this region */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  HDFSBlocksDistribution getHDFSBlocksDistribution();<a name="line.219"></a>
+<span class="sourceLineNo">218</span>  /** @return the MetricsRegion for this region */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  MetricsRegion getMetrics();<a name="line.219"></a>
 <span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  // Locking<a name="line.222"></a>
+<span class="sourceLineNo">221</span>  /** @return the block distribution for all Stores managed by this region */<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  HDFSBlocksDistribution getHDFSBlocksDistribution();<a name="line.222"></a>
 <span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>  // Region read locks<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  /**<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * Operation enum is used in {@link Region#startRegionOperation} and elsewhere to provide<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   * context for various checks.<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   */<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  enum Operation {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    ANY, GET, PUT, DELETE, SCAN, APPEND, INCREMENT, SPLIT_REGION, MERGE_REGION, BATCH_MUTATE,<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    REPLAY_BATCH_MUTATE, COMPACT_REGION, REPLAY_EVENT<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * This method needs to be called before any public call that reads or<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * modifies data.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * the operation has completed, whether it succeeded or failed.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @throws IOException<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  void startRegionOperation() throws IOException;<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /**<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * This method needs to be called before any public call that reads or<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * modifies data.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * the operation has completed, whether it succeeded or failed.<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @param op The operation is about to be taken on the region<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @throws IOException<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  void startRegionOperation(Operation op) throws IOException;<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * Closes the region operation lock.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  void closeRegionOperation() throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>  // Row write locks<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>  /**<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   * Row lock held by a given thread.<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * One thread may acquire multiple locks on the same row simultaneously.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   * The locks must be released by calling release() from the same thread.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>   */<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  public interface RowLock {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    /**<a name="line.270"></a>
-<span class="sourceLineNo">271</span>     * Release the given lock.  If there are no remaining locks held by the current thread<a name="line.271"></a>
-<span class="sourceLineNo">272</span>     * then unlock the row and allow other threads to acquire the lock.<a name="line.272"></a>
-<span class="sourceLineNo">273</span>     * @throws IllegalArgumentException if called by a different thread than the lock owning<a name="line.273"></a>
-<span class="sourceLineNo">274</span>     *     thread<a name="line.274"></a>
-<span class="sourceLineNo">275</span>     */<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    void release();<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  }<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * Tries to acquire a lock on the given row.<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @param waitForLock if true, will block until the lock is available.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   *        Otherwise, just tries to obtain the lock and returns<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   *        false if unavailable.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @return the row lock if acquired,<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   *   null if waitForLock was false and the lock was not acquired<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @throws IOException if waitForLock was true and the lock could not be acquired after waiting<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  RowLock getRowLock(byte[] row, boolean waitForLock) throws IOException;<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>  /**<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * If the given list of row locks is not null, releases all locks.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  void releaseRowLocks(List&lt;RowLock&gt; rowLocks);<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  // Region operations<a name="line.296"></a>
+<span class="sourceLineNo">224</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  // Locking<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  // Region read locks<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * Operation enum is used in {@link Region#startRegionOperation} and elsewhere to provide<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * context for various checks.<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  enum Operation {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    ANY, GET, PUT, DELETE, SCAN, APPEND, INCREMENT, SPLIT_REGION, MERGE_REGION, BATCH_MUTATE,<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    REPLAY_BATCH_MUTATE, COMPACT_REGION, REPLAY_EVENT<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  /**<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * This method needs to be called before any public call that reads or<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * modifies data.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * the operation has completed, whether it succeeded or failed.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @throws IOException<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   */<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  void startRegionOperation() throws IOException;<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>  /**<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   * This method needs to be called before any public call that reads or<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * modifies data.<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * Acquires a read lock and checks if the region is closing or closed.<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * &lt;p&gt;{@link #closeRegionOperation} MUST then always be called after<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * the operation has completed, whether it succeeded or failed.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @param op The operation is about to be taken on the region<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @throws IOException<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  void startRegionOperation(Operation op) throws IOException;<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>  /**<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * Closes the region operation lock.<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   * @throws IOException<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  void closeRegionOperation() throws IOException;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  // Row write locks<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * Row lock held by a given thread.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * One thread may acquire multiple locks on the same row simultaneously.<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * The locks must be released by calling release() from the same thread.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  public interface RowLock {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    /**<a name="line.273"></a>
+<span class="sourceLineNo">274</span>     * Release the given lock.  If there are no remaining locks held by the current thread<a name="line.274"></a>
+<span class="sourceLineNo">275</span>     * then unlock the row and allow other threads to acquire the lock.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>     * @throws IllegalArgumentException if called by a different thread than the lock owning<a name="line.276"></a>
+<span class="sourceLineNo">277</span>     *     thread<a name="line.277"></a>
+<span class="sourceLineNo">278</span>     */<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    void release();<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Tries to acquire a lock on the given row.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * @param waitForLock if true, will block until the lock is available.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   *        Otherwise, just tries to obtain the lock and returns<a name="line.285"></a>
+<span class="sourceLineNo">286</span>   *        false if unavailable.<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * @return the row lock if acquired,<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   *   null if waitForLock was false and the lock was not acquired<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * @throws IOException if waitForLock was true and the lock could not be acquired after waiting<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  RowLock getRowLock(byte[] row, boolean waitForLock) throws IOException;<a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * If the given list of row locks is not null, releases all locks.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  void releaseRowLocks(List&lt;RowLock&gt; rowLocks);<a name="line.296"></a>
 <span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * Perform one or more append operations on a row.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param append<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @param nonceGroup<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * @param nonce<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @return result of the operation<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @throws IOException<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  Result append(Append append, long nonceGroup, long nonce) throws IOException;<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * Perform a batch of mutations.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * &lt;p&gt;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Note this supports only Put and Delete mutations and will ignore other types passed.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * @param mutations the list of mutations<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * @param nonceGroup<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * @param nonce<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * @return an array of OperationStatus which internally contains the<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * @throws IOException<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   */<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  OperationStatus[] batchMutate(Mutation[] mutations, long nonceGroup, long nonce)<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      throws IOException;<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * Replay a batch of mutations.<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param mutations mutations to replay.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @param replaySeqId<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * @return an array of OperationStatus which internally contains the<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * @throws IOException<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   */<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   OperationStatus[] batchReplay(MutationReplay[] mutations, long replaySeqId) throws IOException;<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * Atomically checks if a row/family/qualifier value matches the expected value and if it does,<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * it performs the mutation. If the passed value is null, the lack of column value<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * (ie: non-existence) is used. See checkAndRowMutate to do many checkAndPuts at a time on a<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * single row.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * @param row to check<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   * @param family column family to check<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @param qualifier column qualifier to check<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @param compareOp the comparison operator<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @param comparator<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @param mutation<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * @param writeToWAL<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * @return true if mutation was applied, false otherwise<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   * @throws IOException<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   */<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  boolean checkAndMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      ByteArrayComparable comparator, Mutation mutation, boolean writeToWAL) throws IOException;<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   * Atomically checks if a row/family/qualifier value matches the expected values and if it does,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>   * it performs the row mutations. If the passed value is null, the lack of column value<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * (ie: non-existence) is used. Use to do many mutations on a single row. Use checkAndMutate<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   * to do one checkAndMutate at a time.<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * @param row to check<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * @param family column family to check<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * @param qualifier column qualifier to check<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * @param compareOp the comparison operator<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * @param comparator<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param mutations<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param writeToWAL<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return true if mutations were applied, false otherwise<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @throws IOException<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   */<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  boolean checkAndRowMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      ByteArrayComparable comparator, RowMutations mutations, boolean writeToWAL)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throws IOException;<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>  /**<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * Deletes the specified cells/row.<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @param delete<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @throws IOException<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  void delete(Delete delete) throws IOException;<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  /**<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * Do a get based on the get parameter.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * @param get query parameters<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @return result of the operation<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   */<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  Result get(Get get) throws IOException;<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  /**<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   * Do a get based on the get parameter.<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * @param get query parameters<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * @param withCoprocessor invoke coprocessor or not. We don't want to<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * always invoke cp.<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * @return list of cells resulting from the operation<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  List&lt;Cell&gt; get(Get get, boolean withCoprocessor) throws IOException;<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span>  /**<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * Return an iterator that scans over the HRegion, returning the indicated<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * columns and rows specified by the {@link Scan}.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * &lt;p&gt;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * This Iterator must be closed by the caller.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   *<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * @param scan configured {@link Scan}<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * @return RegionScanner<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @throws IOException read exceptions<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  RegionScanner getScanner(Scan scan) throws IOException;<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>   * Return an iterator that scans over the HRegion, returning the indicated columns and rows<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * specified by the {@link Scan}. The scanner will also include the additional scanners passed<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * along with the scanners for the specified Scan instance. Should be careful with the usage to<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * pass additional scanners only within this Region<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * &lt;p&gt;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * This Iterator must be closed by the caller.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   *<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * @param scan configured {@link Scan}<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * @param additionalScanners Any additional scanners to be used<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * @return RegionScanner<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * @throws IOException read exceptions<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   */<a name="line.416"></a>
-<span class="sourceLineNo">417</span>  RegionScanner getScanner(Scan scan, List&lt;KeyValueScanner&gt; additionalScanners) throws IOException;<a name="line.417"></a>
-<span class="sourceLineNo">418</span><a name="line.418"></a>
-<span class="sourceLineNo">419</span>  /** The comparator to be used with the region */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  CellComparator getCellCompartor();<a name="line.420"></a>
+<span class="sourceLineNo">298</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  // Region operations<a name="line.299"></a>
+<span class="sourceLineNo">300</span><a name="line.300"></a>
+<span class="sourceLineNo">301</span>  /**<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   * Perform one or more append operations on a row.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   * @param append<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   * @param nonceGroup<a name="line.304"></a>
+<span class="sourceLineNo">305</span>   * @param nonce<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * @return result of the operation<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * @throws IOException<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   */<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  Result append(Append append, long nonceGroup, long nonce) throws IOException;<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>  /**<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * Perform a batch of mutations.<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * &lt;p&gt;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * Note this supports only Put and Delete mutations and will ignore other types passed.<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @param mutations the list of mutations<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * @param nonceGroup<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   * @param nonce<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * @return an array of OperationStatus which internally contains the<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.319"></a>
+<span class="sourceLineNo">320</span>   * @throws IOException<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   */<a name="line.321"></a>
+<span class="sourceLineNo">322</span>  OperationStatus[] batchMutate(Mutation[] mutations, long nonceGroup, long nonce)<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      throws IOException;<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  /**<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * Replay a batch of mutations.<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @param mutations mutations to replay.<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * @param replaySeqId<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   * @return an array of OperationStatus which internally contains the<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * @throws IOException<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   OperationStatus[] batchReplay(MutationReplay[] mutations, long replaySeqId) throws IOException;<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * Atomically checks if a row/family/qualifier value matches the expected value and if it does,<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * it performs the mutation. If the passed value is null, the lack of column value<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * (ie: non-existence) is used. See checkAndRowMutate to do many checkAndPuts at a time on a<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * single row.<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @param row to check<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * @param family column family to check<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * @param qualifier column qualifier to check<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   * @param compareOp the comparison operator<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * @param comparator<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * @param mutation<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   * @param writeToWAL<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   * @return true if mutation was applied, false otherwise<a name="line.347"></a>
+<span class="sourceLineNo">348</span>   * @throws IOException<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   */<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  boolean checkAndMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      ByteArrayComparable comparator, Mutation mutation, boolean writeToWAL) throws IOException;<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>  /**<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   * Atomically checks if a row/family/qualifier value matches the expected values and if it does,<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * it performs the row mutations. If the passed value is null, the lack of column value<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   * (ie: non-existence) is used. Use to do many mutations on a single row. Use checkAndMutate<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   * to do one checkAndMutate at a time.<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   * @param row to check<a name="line.358"></a>
+<span class="sourceLineNo">359</span>   * @param family column family to check<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   * @param qualifier column qualifier to check<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * @param compareOp the comparison operator<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * @param comparator<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * @param mutations<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * @param writeToWAL<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @return true if mutations were applied, false otherwise<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @throws IOException<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  boolean checkAndRowMutate(byte [] row, byte [] family, byte [] qualifier, CompareOp compareOp,<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      ByteArrayComparable comparator, RowMutations mutations, boolean writeToWAL)<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      throws IOException;<a name="line.370"></a>
+<span class="sourceLineNo">371</span><a name="line.371"></a>
+<span class="sourceLineNo">372</span>  /**<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * Deletes the specified cells/row.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * @param delete<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * @throws IOException<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   */<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  void delete(Delete delete) throws IOException;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>  /**<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * Do a get based on the get parameter.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * @param get query parameters<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @return result of the operation<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   */<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  Result get(Get get) throws IOException;<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  /**<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * Do a get based on the get parameter.<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   * @param get query parameters<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * @param withCoprocessor invoke coprocessor or not. We don't want to<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * always invoke cp.<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   * @return list of cells resulting from the operation<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   */<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  List&lt;Cell&gt; get(Get get, boolean withCoprocessor) throws IOException;<a name="line.393"></a>
+<span class="sourceLineNo">394</span><a name="line.394"></a>
+<span class="sourceLineNo">395</span>  /**<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * Return an iterator that scans over the HRegion, returning the indicated<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   * columns and rows specified by the {@link Scan}.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * &lt;p&gt;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * This Iterator must be closed by the caller.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   *<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * @param scan configured {@link Scan}<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * @return RegionScanner<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   * @throws IOException read exceptions<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   */<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  RegionScanner getScanner(Scan scan) throws IOException;<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  /**<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * Return an iterator that scans over the HRegion, returning the indicated columns and rows<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * specified by the {@link Scan}. The scanner will also include the additional scanners passed<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * along with the scanners for the specified Scan instance. Should be careful with the usage to<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * pass additional scanners only within this Region<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   * &lt;p&gt;<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * This Iterator must be closed by the caller.<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   *<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   * @param scan configured {@link Scan}<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * @param additionalScanners Any additional scanners to be used<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * @return RegionScanner<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @throws IOException read exceptions<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  RegionScanner getScanner(Scan scan, List&lt;KeyValueScanner&gt; additionalScanners) throws IOException;<a name="line.420"></a>
 <span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  /**<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   * Perform one or more increment operations on a row.<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * @param increment<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * @param nonceGroup<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param nonce<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @return result of the operation<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @throws IOException<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  Result increment(Increment increment, long nonceGroup, long nonce) throws IOException;<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  /**<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * Performs multiple mutations atomically on a single row. Currently<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * {@link Put} and {@link Delete} are supported.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   *<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * @param mutations object that specifies the set of mutations to perform atomically<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * @throws IOException<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   */<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  void mutateRow(RowMutations mutations) throws IOException;<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>   * Perform atomic mutations within the region.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   *<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * @param mutations The list of mutations to perform.<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * &lt;code&gt;mutations&lt;/code&gt; can contain operations for multiple rows.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Caller has to ensure that all rows are contained in this region.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * @param rowsToLock Rows to lock<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   * If multiple rows are locked care should be taken that<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   * &lt;code&gt;rowsToLock&lt;/code&gt; is sorted in order to avoid deadlocks.<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   * @throws IOException<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   */<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  void mutateRowsWithLocks(Collection&lt;Mutation&gt; mutations, Collection&lt;byte[]&gt; rowsToLock,<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      long nonceGroup, long nonce) throws IOException;<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>   * Performs atomic multiple reads and writes on a given row.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   *<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * @param processor The object defines the reads and writes to a row.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   */<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor) throws IOException;<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>  /**<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   *<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * @param processor The object defines the reads and writes to a row.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long nonceGroup, long nonce)<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      throws IOException;<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>  /**<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   *<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * @param processor The object defines the reads and writes to a row.<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @param timeout The timeout of the processor.process() execution<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   *                Use a negative number to switch off the time bound<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long timeout, long nonceGroup, long nonce)<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      throws IOException;<a name="line.484"></a>
-<span class="sourceLineNo">485</span><a name="line.485"></a>
-<span class="sourceLineNo">486</span>  /**<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * Puts some data in the table.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @param put<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * @throws IOException<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   */<a name="line.490"></a>
-<span class="sourceLineNo">491</span>  void put(Put put) throws IOException;<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>  /**<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * Listener class to enable callers of<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * bulkLoadHFile() to perform any necessary<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   * pre/post processing of a given bulkload call<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   */<a name="line.497"></a>
-<span class="sourceLineNo">498</span>  interface BulkLoadListener {<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>     * Called before an HFile is actually loaded<a name="line.501"></a>
-<span class="sourceLineNo">502</span>     * @param family family being loaded to<a name="line.502"></a>
-<span class="sourceLineNo">503</span>     * @param srcPath path of HFile<a name="line.503"></a>
-<span class="sourceLineNo">504</span>     * @return final path to be used for actual loading<a name="line.504"></a>
-<span class="sourceLineNo">505</span>     * @throws IOException<a name="line.505"></a>
-<span class="sourceLineNo">506</span>     */<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    String prepareBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>    /**<a name="line.509"></a>
-<span class="sourceLineNo">510</span>     * Called after a successful HFile load<a name="line.510"></a>
-<span class="sourceLineNo">511</span>     * @param family family being loaded to<a name="line.511"></a>
-<span class="sourceLineNo">512</span>     * @param srcPath path of HFile<a name="line.512"></a>
-<span class="sourceLineNo">513</span>     * @throws IOException<a name="line.513"></a>
-<span class="sourceLineNo">514</span>     */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    void doneBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    /**<a name="line.517"></a>
-<span class="sourceLineNo">518</span>     * Called after a failed HFile load<a name="line.518"></a>
-<span class="sourceLineNo">519</span>     * @param family family being loaded to<a name="line.519"></a>
-<span class="sourceLineNo">520</span>     * @param srcPath path of HFile<a name="line.520"></a>
-<span class="sourceLineNo">521</span>     * @throws IOException<a name="line.521"></a>
-<span class="sourceLineNo">522</span>     */<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    void failedBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>  }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>  /**<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * Attempts to atomically load a group of hfiles.  This is critical for loading<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * rows with multiple column families atomically.<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   *<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param familyPaths List of Pair&amp;lt;byte[] column family, String hfilePath&amp;gt;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param bulkLoadListener Internal hooks enabling massaging/preparation of a<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * file about to be bulk loaded<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @param assignSeqId<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   * @return true if successful, false if failed recoverably<a name="line.534"></a>
-<span class="sourceLineNo">535</span>   * @throws IOException if failed unrecoverably.<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   */<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  boolean bulkLoadHFiles(Collection&lt;Pair&lt;byte[], String&gt;&gt; familyPaths, boolean assignSeqId,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      BulkLoadListener bulkLoadListener) throws IOException;<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.540"></a>
-<span class="sourceLineNo">541</span>  // Coprocessors<a name="line.541"></a>
+<span class="sourceLineNo">422</span>  /** The comparator to be used with the region */<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  CellComparator getCellCompartor();<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>  /**<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * Perform one or more increment operations on a row.<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * @param increment<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * @param nonceGroup<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * @param nonce<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * @return result of the operation<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * @throws IOException<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   */<a name="line.432"></a>
+<span class="sourceLineNo">433</span>  Result increment(Increment increment, long nonceGroup, long nonce) throws IOException;<a name="line.433"></a>
+<span class="sourceLineNo">434</span><a name="line.434"></a>
+<span class="sourceLineNo">435</span>  /**<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * Performs multiple mutations atomically on a single row. Currently<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * {@link Put} and {@link Delete} are supported.<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   *<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   * @param mutations object that specifies the set of mutations to perform atomically<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   * @throws IOException<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   */<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  void mutateRow(RowMutations mutations) throws IOException;<a name="line.442"></a>
+<span class="sourceLineNo">443</span><a name="line.443"></a>
+<span class="sourceLineNo">444</span>  /**<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * Perform atomic mutations within the region.<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   *<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   * @param mutations The list of mutations to perform.<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   * &lt;code&gt;mutations&lt;/code&gt; can contain operations for multiple rows.<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   * Caller has to ensure that all rows are contained in this region.<a name="line.449"></a>
+<span class="sourceLineNo">450</span>   * @param rowsToLock Rows to lock<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.451"></a>
+<span class="sourceLineNo">452</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * If multiple rows are locked care should be taken that<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * &lt;code&gt;rowsToLock&lt;/code&gt; is sorted in order to avoid deadlocks.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   * @throws IOException<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   */<a name="line.456"></a>
+<span class="sourceLineNo">457</span>  void mutateRowsWithLocks(Collection&lt;Mutation&gt; mutations, Collection&lt;byte[]&gt; rowsToLock,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      long nonceGroup, long nonce) throws IOException;<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>   * Performs atomic multiple reads and writes on a given row.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   *<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   * @param processor The object defines the reads and writes to a row.<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   */<a name="line.464"></a>
+<span class="sourceLineNo">465</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor) throws IOException;<a name="line.465"></a>
+<span class="sourceLineNo">466</span><a name="line.466"></a>
+<span class="sourceLineNo">467</span>  /**<a name="line.467"></a>
+<span class="sourceLineNo">468</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.468"></a>
+<span class="sourceLineNo">469</span>   *<a name="line.469"></a>
+<span class="sourceLineNo">470</span>   * @param processor The object defines the reads and writes to a row.<a name="line.470"></a>
+<span class="sourceLineNo">471</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   */<a name="line.473"></a>
+<span class="sourceLineNo">474</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long nonceGroup, long nonce)<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      throws IOException;<a name="line.475"></a>
+<span class="sourceLineNo">476</span><a name="line.476"></a>
+<span class="sourceLineNo">477</span>  /**<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   * Performs atomic multiple reads and writes on a given row.<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   *<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * @param processor The object defines the reads and writes to a row.<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   * @param timeout The timeout of the processor.process() execution<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   *                Use a negative number to switch off the time bound<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   * @param nonceGroup Optional nonce group of the operation (client Id)<a name="line.483"></a>
+<span class="sourceLineNo">484</span>   * @param nonce Optional nonce of the operation (unique random id to ensure "more idempotence")<a name="line.484"></a>
+<span class="sourceLineNo">485</span>   */<a name="line.485"></a>
+<span class="sourceLineNo">486</span>  void processRowsWithLocks(RowProcessor&lt;?,?&gt; processor, long timeout, long nonceGroup, long nonce)<a name="line.486"></a>
+<span class="sourceLineNo">487</span>      throws IOException;<a name="line.487"></a>
+<span class="sourceLineNo">488</span><a name="line.488"></a>
+<span class="sourceLineNo">489</span>  /**<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * Puts some data in the table.<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * @param put<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * @throws IOException<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   */<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  void put(Put put) throws IOException;<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>  /**<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * Listener class to enable callers of<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * bulkLoadHFile() to perform any necessary<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * pre/post processing of a given bulkload call<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
+<span class="sourceLineNo">501</span>  interface BulkLoadListener {<a name="line.501"></a>
+<span class="sourceLineNo">502</span><a name="line.502"></a>
+<span class="sourceLineNo">503</span>    /**<a name="line.503"></a>
+<span class="sourceLineNo">504</span>     * Called before an HFile is actually loaded<a name="line.504"></a>
+<span class="sourceLineNo">505</span>     * @param family family being loaded to<a name="line.505"></a>
+<span class="sourceLineNo">506</span>     * @param srcPath path of HFile<a name="line.506"></a>
+<span class="sourceLineNo">507</span>     * @return final path to be used for actual loading<a name="line.507"></a>
+<span class="sourceLineNo">508</span>     * @throws IOException<a name="line.508"></a>
+<span class="sourceLineNo">509</span>     */<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    String prepareBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.510"></a>
+<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">512</span>    /**<a name="line.512"></a>
+<span class="sourceLineNo">513</span>     * Called after a successful HFile load<a name="line.513"></a>
+<span class="sourceLineNo">514</span>     * @param family family being loaded to<a name="line.514"></a>
+<span class="sourceLineNo">515</span>     * @param srcPath path of HFile<a name="line.515"></a>
+<span class="sourceLineNo">516</span>     * @throws IOException<a name="line.516"></a>
+<span class="sourceLineNo">517</span>     */<a name="line.517"></a>
+<span class="sourceLineNo">518</span>    void doneBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.518"></a>
+<span class="sourceLineNo">519</span><a name="line.519"></a>
+<span class="sourceLineNo">520</span>    /**<a name="line.520"></a>
+<span class="sourceLineNo">521</span>     * Called after a failed HFile load<a name="line.521"></a>
+<span class="sourceLineNo">522</span>     * @param family family being loaded to<a name="line.522"></a>
+<span class="sourceLineNo">523</span>     * @param srcPath path of HFile<a name="line.523"></a>
+<span class="sourceLineNo">524</span>     * @throws IOException<a name="line.524"></a>
+<span class="sourceLineNo">525</span>     */<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    void failedBulkLoad(byte[] family, String srcPath) throws IOException;<a name="line.526"></a>
+<span class="sourceLineNo">527</span>  }<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span>  /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * Attempts to atomically load a group of hfiles.  This is critical for loading<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   * rows with multiple column families atomically.<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   *<a name="line.532"></a>
+<span class="sourceLineNo">533</span>   * @param familyPaths List of Pair&amp;lt;byte[] column family, String hfilePath&amp;gt;<a name="line.533"></a>
+<span class="sourceLineNo">534</span>   * @param bulkLoadListener Internal hooks enabling massaging/preparation of a<a name="line.534"></a>
+<span class="sourceLineNo">535</span>   * file about to be bulk loaded<a name="line.535"></a>
+<span class="sourceLineNo">536</span>   * @param assignSeqId<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   * @return true if successful, false if failed recoverably<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @throws IOException if failed unrecoverably.<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   */<a name="line.539"></a>
+<span class="sourceLineNo">540</span>  boolean bulkLoadHFiles(Collection&lt;Pair&lt;byte[], String&gt;&gt; familyPaths, boolean assignSeqId,<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      BulkLoadListener bulkLoadListener) throws IOException;<a name="line.541"></a>
 <span class="sourceLineNo">542</span><a name="line.542"></a>
-<span class="sourceLineNo">543</span>  /** @return the coprocessor host */<a name="line.543"></a>
-<span class="sourceLineNo">544</span>  RegionCoprocessorHost getCoprocessorHost();<a name="line.544"></a>
+<span class="sourceLineNo">543</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.543"></a>
+<span class="sourceLineNo">544</span>  // Coprocessors<a name="line.544"></a>
 <span class="sourceLineNo">545</span><a name="line.545"></a>
-<span class="sourceLineNo">546</span>  /**<a name="line.546"></a>
-<span class="sourceLineNo">547</span>   * Executes a single protocol buffer coprocessor endpoint {@link Service} method using<a name="line.547"></a>
-<span class="sourceLineNo">548</span>   * the registered protocol handlers.  {@link Service} implementations must be registered via the<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * {@link Region#registerService(com.google.protobuf.Service)}<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * method before they are available.<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   *<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   * @param controller an {@code RpcContoller} implementation to pass to the invoked service<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param call a {@code CoprocessorServiceCall} instance identifying the service, method,<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   *     and parameters for the method invocation<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * @return a protocol buffer {@code Message} instance containing the method's result<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @throws IOException if no registered service handler is found or an error<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   *     occurs during the invocation<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @see org.apache.hadoop.hbase.regionserver.Region#registerService(com.google.protobuf.Service)<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  Message execService(RpcController controller, CoprocessorServiceCall call) throws IOException;<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  /**<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   * Registers a new protocol buffer {@link Service} subclass as a coprocessor endpoint to<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * be available for handling<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * {@link Region#execService(com.google.protobuf.RpcController,<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   *    org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)}} calls.<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   *<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * &lt;p&gt;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * Only a single instance may be registered per region for a given {@link Service} subclass (the<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * instances are keyed on {@link com.google.protobuf.Descriptors.ServiceDescriptor#getFullName()}.<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * After the first registration, subsequent calls with the same service name will fail with<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   * a return value of {@code false}.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   * &lt;/p&gt;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>   * @param instance the {@code Service} subclass instance to expose as a coprocessor endpoint<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   * @return {@code true} if the registration was successful, {@code false}<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   * otherwise<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   */<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  boolean registerService(Service instance);<a name="line.578"></a>
-<span class="sourceLineNo">579</span><a name="line.579"></a>
-<span class="sourceLineNo">580</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.580"></a>
-<span class="sourceLineNo">581</span>  // RowMutation processor support<a name="line.581"></a>
+<span class="sourceLineNo">546</span>  /** @return the coprocessor host */<a name="line.546"></a>
+<span class="sourceLineNo">547</span>  RegionCoprocessorHost getCoprocessorHost();<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>  /**<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * Executes a single protocol buffer coprocessor endpoint {@link Service} method using<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * the registered protocol handlers.  {@link Service} implementations must be registered via the<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   * {@link Region#registerService(com.google.protobuf.Service)}<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   * method before they are available.<a name="line.553"></a>
+<span class="sourceLineNo">554</span>   *<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   * @param controller an {@code RpcContoller} implementation to pass to the invoked service<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   * @param call a {@code CoprocessorServiceCall} instance identifying the service, method,<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   *     and parameters for the method invocation<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   * @return a protocol buffer {@code Message} instance containing the method's result<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   * @throws IOException if no registered service handler is found or an error<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   *     occurs during the invocation<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   * @see org.apache.hadoop.hbase.regionserver.Region#registerService(com.google.protobuf.Service)<a name="line.561"></a>
+<span class="sourceLineNo">562</span>   */<a name="line.562"></a>
+<span class="sourceLineNo">563</span>  Message execService(RpcController controller, CoprocessorServiceCall call) throws IOException;<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span>  /**<a name="line.565"></a>
+<span class="sourceLineNo">566</span>   * Registers a new protocol buffer {@link Service} subclass as a coprocessor endpoint to<a name="line.566"></a>
+<span class="sourceLineNo">567</span>   * be available for handling<a name="line.567"></a>
+<span class="sourceLineNo">568</span>   * {@link Region#execService(com.google.protobuf.RpcController,<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   *    org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall)}} calls.<a name="line.569"></a>
+<span class="sourceLineNo">570</span>   *<a name="line.570"></a>
+<span class="sourceLineNo">571</span>   * &lt;p&gt;<a name="line.571"></a>
+<span class="sourceLineNo">572</span>   * Only a single instance may be registered per region for a given {@link Service} subclass (the<a name="line.572"></a>
+<span class="sourceLineNo">573</span>   * instances are keyed on {@link com.google.protobuf.Descriptors.ServiceDescriptor#getFullName()}.<a name="line.573"></a>
+<span class="sourceLineNo">574</span>   * After the first registration, subsequent calls with the same service name will fail with<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   * a return value of {@code false}.<a name="line.575"></a>
+<span class="sourceLineNo">576</span>   * &lt;/p&gt;<a name="line.576"></a>
+<span class="sourceLineNo">577</span>   * @param instance the {@code Service} subclass instance to expose as a coprocessor endpoint<a name="line.577"></a>
+<span class="sourceLineNo">578</span>   * @return {@code true} if the registration was successful, {@code false}<a name="line.578"></a>
+<span class="sourceLineNo">579</span>   * otherwise<a name="line.579"></a>
+<span class="sourceLineNo">580</span>   */<a name="line.580"></a>
+<span class="sourceLineNo">581</span>  boolean registerService(Service instance);<a name="line.581"></a>
 <span class="sourceLineNo">582</span><a name="line.582"></a>
-<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * Check the collection of families for validity.<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   * @param families<a name="line.585"></a>
-<span class="sourceLineNo">586</span>   * @throws NoSuchColumnFamilyException<a name="line.586"></a>
-<span class="sourceLineNo">587</span>   */<a name="line.587"></a>
-<span class="sourceLineNo">588</span>  void checkFamilies(Collection&lt;byte[]&gt; families) throws NoSuchColumnFamilyException;<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>  /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * Check the collection of families for valid timestamps<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * @param familyMap<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   * @param now current timestamp<a name="line.593"></a>
-<span class="sourceLineNo">594</span>   * @throws FailedSanityCheckException<a name="line.594"></a>
-<span class="sourceLineNo">595</span>   */<a name="line.595"></a>
-<span class="sourceLineNo">596</span>  void checkTimestamps(Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, long now)<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      throws FailedSanityCheckException;<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Prepare a delete for a row mutation processor<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   * @param delete The passed delete is modified by this method. WARNING!<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * @throws IOException<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   */<a name="line.603"></a>
-<span class="sourceLineNo">604</span>  void prepareDelete(Delete delete) throws IOException;<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>  /**<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * Set up correct timestamps in the KVs in Delete object.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * &lt;p&gt;Caller should have the row and region locks.<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * @param mutation<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * @param familyCellMap<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * @param now<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * @throws IOException<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   */<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  void prepareDeleteTimestamps(Mutation mutation, Map&lt;byte[], List&lt;Cell&gt;&gt; familyCellMap,<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      byte[] now) throws IOException;<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>  /**<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * Replace any cell timestamps set to {@link org.apache.hadoop.hbase.HConstants#LATEST_TIMESTAMP}<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * provided current timestamp.<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @param values<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @param now<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  void updateCellTimestamps(final Iterable&lt;List&lt;Cell&gt;&gt; values, final byte[] now)<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      throws IOException;<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.626"></a>
-<span class="sourceLineNo">627</span>  // Flushes, compactions, splits, etc.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>  // Wizards only, please<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>  interface FlushResult {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    enum Result {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      FLUSHED_NO_COMPACTION_NEEDED,<a name="line.632"></a>
-<span class="sourceLineNo">633</span>      FLUSHED_COMPACTION_NEEDED,<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      // Special case where a flush didn't run because there's nothing in the memstores. Used when<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      // bulk loading to know when we can still load even if a flush didn't happen.<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      CANNOT_FLUSH_MEMSTORE_EMPTY,<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      CANNOT_FLUSH<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    }<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>    /** @return the detailed result code */<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    Result getResult();<a name="line.641"></a>
+<span class="sourceLineNo">583</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.583"></a>
+<span class="sourceLineNo">584</span>  // RowMutation processor support<a name="line.584"></a>
+<span class="sourceLineNo">585</span><a name="line.585"></a>
+<span class="sourceLineNo">586</span>  /**<a name="line.586"></a>
+<span class="sourceLineNo">587</span>   * Check the collection of families for validity.<a name="line.587"></a>
+<span class="sourceLineNo">588</span>   * @param families<a name="line.588"></a>
+<span class="sourceLineNo">589</span>   * @throws NoSuchColumnFamilyException<a name="line.589"></a>
+<span class="sourceLineNo">590</span>   */<a name="line.590"></a>
+<span class="sourceLineNo">591</span>  void checkFamilies(Collection&lt;byte[]&gt; families) throws NoSuchColumnFamilyException;<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span>  /**<a name="line.593"></a>
+<span class="sourceLineNo">594</span>   * Check the collection of families for valid timestamps<a name="line.594"></a>
+<span class="sourceLineNo">595</span>   * @param familyMap<a name="line.595"></a>
+<span class="sourceLineNo">596</span>   * @param now current timestamp<a name="line.596"></a>
+<span class="sourceLineNo">597</span>   * @throws FailedSanityCheckException<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   */<a name="line.598"></a>
+<span class="sourceLineNo">599</span>  void checkTimestamps(Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, long now)<a name="line.599"></a>
+<span class="sourceLineNo">600</span>      throws FailedSanityCheckException;<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span>  /**<a name="line.602"></a>
+<span class="sourceLineNo">603</span>   * Prepare a delete for a row mutation processor<a name="line.603"></a>
+<span class="sourceLineNo">604</span>   * @param delete The passed delete is modified by this method. WARNING!<a name="line.604"></a>
+<span class="sourceLineNo">605</span>   * @throws IOException<a name="line.605"></a>
+<span class="sourceLineNo">606</span>   */<a name="line.606"></a>
+<span class="sourceLineNo">607</span>  void prepareDelete(Delete delete) throws IOException;<a name="line.607"></a>
+<span class="sourceLineNo">608</span><a name="line.608"></a>
+<span class="sourceLineNo">609</span>  /**<a name="line.609"></a>
+<span class="sourceLineNo">610</span>   * Set up correct timestamps in the KVs in Delete object.<a name="line.610"></a>
+<span class="sourceLineNo">611</span>   * &lt;p&gt;Caller should have the row and region locks.<a name="line.611"></a>
+<span class="sourceLineNo">612</span>   * @param mutation<a name="line.612"></a>
+<span class="sourceLineNo">613</span>   * @param familyCellMap<a name="line.613"></a>
+<span class="sourceLineNo">614</span>   * @param now<a name="line.614"></a>
+<span class="sourceLineNo">615</span>   * @throws IOException<a name="line.615"></a>
+<span class="sourceLineNo">616</span>   */<a name="line.616"></a>
+<span class="sourceLineNo">617</span>  void prepareDeleteTimestamps(Mutation mutation, Map&lt;byte[], List&lt;Cell&gt;&gt; familyCellMap,<a name="line.617"></a>
+<span class="sourceLineNo">618</span>      byte[] now) throws IOException;<a name="line.618"></a>
+<span class="sourceLineNo">619</span><a name="line.619"></a>
+<span class="sourceLineNo">620</span>  /**<a name="line.620"></a>
+<span class="sourceLineNo">621</span>   * Replace any cell timestamps set to {@link org.apache.hadoop.hbase.HConstants#LATEST_TIMESTAMP}<a name="line.621"></a>
+<span class="sourceLineNo">622</span>   * provided current timestamp.<a name="line.622"></a>
+<span class="sourceLineNo">623</span>   * @param values<a name="line.623"></a>
+<span class="sourceLineNo">624</span>   * @param now<a name="line.624"></a>
+<span class="sourceLineNo">625</span>   */<a name="line.625"></a>
+<span class="sourceLineNo">626</span>  void updateCellTimestamps(final Iterable&lt;List&lt;Cell&gt;&gt; values, final byte[] now)<a name="line.626"></a>
+<span class="sourceLineNo">627</span>      throws IOException;<a name="line.627"></a>
+<span class="sourceLineNo">628</span><a name="line.628"></a>
+<span class="sourceLineNo">629</span>  ///////////////////////////////////////////////////////////////////////////<a name="line.629"></a>
+<span class="sourceLineNo">630</span>  // Flushes, compactions, splits, etc.<a name="line.630"></a>
+<span class="sourceLineNo">631</span>  // Wizards only, please<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>  interface FlushResult {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>    enum Result {<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      FLUSHED_NO_COMPACTION_NEEDED,<a name="line.635"></a>
+<span class="sourceLineNo">636</span>      FLUSHED_COMPACTION_NEEDED,<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      // Special case where a flush didn't run because there's nothing in the memstores. Used when<a name="line.637"></a>
+<span class="sourceLineNo">638</span>      // bulk loading to know when we can still load even if a flush didn't happen.<a name="line.638"></a>
+<span class="sourceLineNo">639</span>      CANNOT_FLUSH_MEMSTORE_EMPTY,<a name="line.639"></a>
+<span class="sourceLineNo">640</span>      CANNOT_FLUSH<a name="line.640"></a>
+<span class="sourceLineNo">641</span>    }<a name="line.641"></a>
 <span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>    /** @return true if the memstores were flushed, else false */<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    boolean isFlushSucceeded();<a name="line.644"></a>
+<span class="sourceLineN

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html
index 4078580..b9f3a92 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html
@@ -1526,1902 +1526,1903 @@
 <span class="sourceLineNo">1518</span>      .setTotalStaticIndexSizeKB(totalStaticIndexSizeKB)<a name="line.1518"></a>
 <span class="sourceLineNo">1519</span>      .setTotalStaticBloomSizeKB(totalStaticBloomSizeKB)<a name="line.1519"></a>
 <span class="sourceLineNo">1520</span>      .setReadRequestsCount(r.getReadRequestsCount())<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>      .setWriteRequestsCount(r.getWriteRequestsCount())<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>      .setTotalCompactingKVs(totalCompactingKVs)<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>      .setCurrentCompactedKVs(currentCompactedKVs)<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span>      .setDataLocality(dataLocality)<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>      .setLastMajorCompactionTs(r.getOldestHfileTs(true));<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span>    ((HRegion)r).setCompleteSequenceId(regionLoadBldr);<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span><a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>    return regionLoadBldr.build();<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>  }<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span><a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>  /**<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>   * @param encodedRegionName<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>   * @return An instance of RegionLoad.<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>   */<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>  public RegionLoad createRegionLoad(final String encodedRegionName) throws IOException {<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>    Region r = onlineRegions.get(encodedRegionName);<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span>    return r != null ? createRegionLoad(r, null, null) : null;<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>  /*<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>   * Inner class that runs on a long period checking if regions need compaction.<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span>   */<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>  private static class CompactionChecker extends ScheduledChore {<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>    private final HRegionServer instance;<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span>    private final int majorCompactPriority;<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>    private final static int DEFAULT_PRIORITY = Integer.MAX_VALUE;<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>    private long iteration = 0;<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span><a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>    CompactionChecker(final HRegionServer h, final int sleepTime,<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span>        final Stoppable stopper) {<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>      super("CompactionChecker", stopper, sleepTime);<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>      this.instance = h;<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span>      LOG.info(this.getName() + " runs every " + StringUtils.formatTime(sleepTime));<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span><a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>      /* MajorCompactPriority is configurable.<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>       * If not set, the compaction will use default priority.<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>       */<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>      this.majorCompactPriority = this.instance.conf.<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span>        getInt("hbase.regionserver.compactionChecker.majorCompactPriority",<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>        DEFAULT_PRIORITY);<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>    }<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span><a name="line.1562"></a>
-<span class="sourceLineNo">1563</span>    @Override<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>    protected void chore() {<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>      for (Region r : this.instance.onlineRegions.values()) {<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>        if (r == null)<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>          continue;<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>        for (Store s : r.getStores()) {<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span>          try {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>            long multiplier = s.getCompactionCheckMultiplier();<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span>            assert multiplier &gt; 0;<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>            if (iteration % multiplier != 0) continue;<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>            if (s.needsCompaction()) {<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>              // Queue a compaction. Will recognize if major is needed.<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>              this.instance.compactSplitThread.requestSystemCompaction(r, s, getName()<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span>                  + " requests compaction");<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>            } else if (s.isMajorCompaction()) {<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>              if (majorCompactPriority == DEFAULT_PRIORITY<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>                  || majorCompactPriority &gt; ((HRegion)r).getCompactPriority()) {<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>                this.instance.compactSplitThread.requestCompaction(r, s, getName()<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>                    + " requests major compaction; use default priority", null);<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>              } else {<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>                this.instance.compactSplitThread.requestCompaction(r, s, getName()<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>                    + " requests major compaction; use configured priority",<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>                  this.majorCompactPriority, null, null);<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>              }<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>            }<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>          } catch (IOException e) {<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span>            LOG.warn("Failed major compaction check on " + r, e);<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>          }<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>        }<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>      }<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>      iteration = (iteration == Long.MAX_VALUE) ? 0 : (iteration + 1);<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>    }<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>  }<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span><a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>  static class PeriodicMemstoreFlusher extends ScheduledChore {<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>    final HRegionServer server;<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>    final static int RANGE_OF_DELAY = 5 * 60 * 1000; // 5 min in milliseconds<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>    final static int MIN_DELAY_TIME = 0; // millisec<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>    public PeriodicMemstoreFlusher(int cacheFlushInterval, final HRegionServer server) {<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>      super(server.getServerName() + "-MemstoreFlusherChore", server, cacheFlushInterval);<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>      this.server = server;<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>    }<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span><a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>    @Override<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>    protected void chore() {<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>      final StringBuffer whyFlush = new StringBuffer();<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>      for (Region r : this.server.onlineRegions.values()) {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>        if (r == null) continue;<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>        if (((HRegion)r).shouldFlush(whyFlush)) {<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>          FlushRequester requester = server.getFlushRequester();<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>          if (requester != null) {<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>            long randomDelay = RandomUtils.nextInt(RANGE_OF_DELAY) + MIN_DELAY_TIME;<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span>            LOG.info(getName() + " requesting flush of " +<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>              r.getRegionInfo().getRegionNameAsString() + " because " +<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>              whyFlush.toString() +<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>              " after random delay " + randomDelay + "ms");<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>            //Throttle the flushes by putting a delay. If we don't throttle, and there<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>            //is a balanced write-load on the regions in a table, we might end up<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>            //overwhelming the filesystem with too many flushes at once.<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>            requester.requestDelayedFlush(r, randomDelay, false);<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>          }<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>        }<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>      }<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><a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>  /**<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>   * Report the status of the server. A server is online once all the startup is<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>   * completed (setting up filesystem, starting service threads, etc.). This<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>   * method is designed mostly to be useful in tests.<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>   *<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>   * @return true if online, false if not.<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>   */<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>  public boolean isOnline() {<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>    return online.get();<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>  }<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span><a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>  /**<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>   * Setup WAL log and replication if enabled.<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>   * Replication setup is done in here because it wants to be hooked up to WAL.<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>   * @return A WAL instance.<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>   * @throws IOException<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>   */<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>  private WALFactory setupWALAndReplication() throws IOException {<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>    // TODO Replication make assumptions here based on the default filesystem impl<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>    final Path oldLogDir = new Path(rootDir, HConstants.HREGION_OLDLOGDIR_NAME);<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>    final String logName = DefaultWALProvider.getWALDirectoryName(this.serverName.toString());<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span><a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>    Path logdir = new Path(rootDir, logName);<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>    if (LOG.isDebugEnabled()) LOG.debug("logdir=" + logdir);<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>    if (this.fs.exists(logdir)) {<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>      throw new RegionServerRunningException("Region server has already " +<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>        "created directory at " + this.serverName.toString());<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>    }<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span><a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>    // Instantiate replication manager if replication enabled.  Pass it the<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>    // log directories.<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>    createNewReplicationInstance(conf, this, this.fs, logdir, oldLogDir);<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span><a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>    // listeners the wal factory will add to wals it creates.<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>    final List&lt;WALActionsListener&gt; listeners = new ArrayList&lt;WALActionsListener&gt;();<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>    listeners.add(new MetricsWAL());<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>    if (this.replicationSourceHandler != null &amp;&amp;<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>        this.replicationSourceHandler.getWALActionsListener() != null) {<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>      // Replication handler is an implementation of WALActionsListener.<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>      listeners.add(this.replicationSourceHandler.getWALActionsListener());<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>    }<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span><a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>    return new WALFactory(conf, listeners, serverName.toString());<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>  }<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span><a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>  /**<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>   * We initialize the roller for the wal that handles meta lazily<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>   * since we don't know if this regionserver will handle it. All calls to<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>   * this method return a reference to the that same roller. As newly referenced<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>   * meta regions are brought online, they will be offered to the roller for maintenance.<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>   * As a part of that registration process, the roller will add itself as a<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>   * listener on the wal.<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>   */<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>  protected LogRoller ensureMetaWALRoller() {<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>    // Using a tmp log roller to ensure metaLogRoller is alive once it is not<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>    // null<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>    LogRoller roller = metawalRoller.get();<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>    if (null == roller) {<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>      LogRoller tmpLogRoller = new LogRoller(this, this);<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>      String n = Thread.currentThread().getName();<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>      Threads.setDaemonThreadRunning(tmpLogRoller.getThread(),<a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>          n + "-MetaLogRoller", uncaughtExceptionHandler);<a name="line.1690"></a>
-<span class="sourceLineNo">1691</span>      if (metawalRoller.compareAndSet(null, tmpLogRoller)) {<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span>        roller = tmpLogRoller;<a name="line.1692"></a>
-<span class="sourceLineNo">1693</span>      } else {<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span>        // Another thread won starting the roller<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>        Threads.shutdown(tmpLogRoller.getThread());<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span>        roller = metawalRoller.get();<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>      }<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>    }<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span>    return roller;<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>  }<a name="line.1700"></a>
-<span class="sourceLineNo">1701</span><a name="line.1701"></a>
-<span class="sourceLineNo">1702</span>  public MetricsRegionServer getRegionServerMetrics() {<a name="line.1702"></a>
-<span class="sourceLineNo">1703</span>    return this.metricsRegionServer;<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span>  }<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span><a name="line.1705"></a>
-<span class="sourceLineNo">1706</span>  /**<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span>   * @return Master address tracker instance.<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span>   */<a name="line.1708"></a>
-<span class="sourceLineNo">1709</span>  public MasterAddressTracker getMasterAddressTracker() {<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>    return this.masterAddressTracker;<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span>  }<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span><a name="line.1712"></a>
-<span class="sourceLineNo">1713</span>  /*<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span>   * Start maintenance Threads, Server, Worker and lease checker threads.<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>   * Install an UncaughtExceptionHandler that calls abort of RegionServer if we<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span>   * get an unhandled exception. We cannot set the handler on all threads.<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span>   * Server's internal Listener thread is off limits. For Server, if an OOME, it<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span>   * waits a while then retries. Meantime, a flush or a compaction that tries to<a name="line.1718"></a>
-<span class="sourceLineNo">1719</span>   * run should trigger same critical condition and the shutdown will run. On<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>   * its way out, this server will shut down Server. Leases are sort of<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span>   * inbetween. It has an internal thread that while it inherits from Chore, it<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span>   * keeps its own internal stop mechanism so needs to be stopped by this<a name="line.1722"></a>
-<span class="sourceLineNo">1723</span>   * hosting server. Worker logs the exception and exits.<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span>   */<a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>  private void startServiceThreads() throws IOException {<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span>    // Start executor services<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span>    this.service.startExecutorService(ExecutorType.RS_OPEN_REGION,<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span>      conf.getInt("hbase.regionserver.executor.openregion.threads", 3));<a name="line.1728"></a>
-<span class="sourceLineNo">1729</span>    this.service.startExecutorService(ExecutorType.RS_OPEN_META,<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>      conf.getInt("hbase.regionserver.executor.openmeta.threads", 1));<a name="line.1730"></a>
-<span class="sourceLineNo">1731</span>    this.service.startExecutorService(ExecutorType.RS_CLOSE_REGION,<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span>      conf.getInt("hbase.regionserver.executor.closeregion.threads", 3));<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span>    this.service.startExecutorService(ExecutorType.RS_CLOSE_META,<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span>      conf.getInt("hbase.regionserver.executor.closemeta.threads", 1));<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>    if (conf.getBoolean(StoreScanner.STORESCANNER_PARALLEL_SEEK_ENABLE, false)) {<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span>      this.service.startExecutorService(ExecutorType.RS_PARALLEL_SEEK,<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span>        conf.getInt("hbase.storescanner.parallel.seek.threads", 10));<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span>    }<a name="line.1738"></a>
-<span class="sourceLineNo">1739</span>    this.service.startExecutorService(ExecutorType.RS_LOG_REPLAY_OPS, conf.getInt(<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>       "hbase.regionserver.wal.max.splitters", SplitLogWorkerCoordination.DEFAULT_MAX_SPLITTERS));<a name="line.1740"></a>
-<span class="sourceLineNo">1741</span>    // Start the threads for compacted files discharger<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span>    this.service.startExecutorService(ExecutorType.RS_COMPACTED_FILES_DISCHARGER,<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span>      conf.getInt(CompactionConfiguration.HBASE_HFILE_COMPACTION_DISCHARGER_THREAD_COUNT, 10));<a name="line.1743"></a>
-<span class="sourceLineNo">1744</span>    if (ServerRegionReplicaUtil.isRegionReplicaWaitForPrimaryFlushEnabled(conf)) {<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span>      this.service.startExecutorService(ExecutorType.RS_REGION_REPLICA_FLUSH_OPS,<a name="line.1745"></a>
-<span class="sourceLineNo">1746</span>        conf.getInt("hbase.regionserver.region.replica.flusher.threads",<a name="line.1746"></a>
-<span class="sourceLineNo">1747</span>          conf.getInt("hbase.regionserver.executor.openregion.threads", 3)));<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span>    }<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span><a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>    Threads.setDaemonThreadRunning(this.walRoller.getThread(), getName() + ".logRoller",<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span>        uncaughtExceptionHandler);<a name="line.1751"></a>
-<span class="sourceLineNo">1752</span>    this.cacheFlusher.start(uncaughtExceptionHandler);<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span><a name="line.1753"></a>
-<span class="sourceLineNo">1754</span>    if (this.compactionChecker != null) choreService.scheduleChore(compactionChecker);<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>    if (this.periodicFlusher != null) choreService.scheduleChore(periodicFlusher);<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span>    if (this.healthCheckChore != null) choreService.scheduleChore(healthCheckChore);<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span>    if (this.nonceManagerChore != null) choreService.scheduleChore(nonceManagerChore);<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span>    if (this.storefileRefresher != null) choreService.scheduleChore(storefileRefresher);<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span>    if (this.movedRegionsCleaner != null) choreService.scheduleChore(movedRegionsCleaner);<a name="line.1759"></a>
-<span class="sourceLineNo">1760</span><a name="line.1760"></a>
-<span class="sourceLineNo">1761</span>    // Leases is not a Thread. Internally it runs a daemon thread. If it gets<a name="line.1761"></a>
-<span class="sourceLineNo">1762</span>    // an unhandled exception, it will just exit.<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span>    Threads.setDaemonThreadRunning(this.leases.getThread(), getName() + ".leaseChecker",<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span>      uncaughtExceptionHandler);<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span><a name="line.1765"></a>
-<span class="sourceLineNo">1766</span>    if (this.replicationSourceHandler == this.replicationSinkHandler &amp;&amp;<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span>        this.replicationSourceHandler != null) {<a name="line.1767"></a>
-<span class="sourceLineNo">1768</span>      this.replicationSourceHandler.startReplicationService();<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span>    } else {<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span>      if (this.replicationSourceHandler != null) {<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span>        this.replicationSourceHandler.startReplicationService();<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span>      }<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span>      if (this.replicationSinkHandler != null) {<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span>        this.replicationSinkHandler.startReplicationService();<a name="line.1774"></a>
-<span class="sourceLineNo">1775</span>      }<a name="line.1775"></a>
-<span class="sourceLineNo">1776</span>    }<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span><a name="line.1777"></a>
-<span class="sourceLineNo">1778</span>    // Create the log splitting worker and start it<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span>    // set a smaller retries to fast fail otherwise splitlogworker could be blocked for<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span>    // quite a while inside HConnection layer. The worker won't be available for other<a name="line.1780"></a>
-<span class="sourceLineNo">1781</span>    // tasks even after current task is preempted after a split task times out.<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span>    Configuration sinkConf = HBaseConfiguration.create(conf);<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span>    sinkConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.1783"></a>
-<span class="sourceLineNo">1784</span>      conf.getInt("hbase.log.replay.retries.number", 8)); // 8 retries take about 23 seconds<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span>    sinkConf.setInt(HConstants.HBASE_RPC_TIMEOUT_KEY,<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span>      conf.getInt("hbase.log.replay.rpc.timeout", 30000)); // default 30 seconds<a name="line.1786"></a>
-<span class="sourceLineNo">1787</span>    sinkConf.setInt("hbase.client.serverside.retries.multiplier", 1);<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span>    this.splitLogWorker = new SplitLogWorker(this, sinkConf, this, this, walFactory);<a name="line.1788"></a>
-<span class="sourceLineNo">1789</span>    splitLogWorker.start();<a name="line.1789"></a>
-<span class="sourceLineNo">1790</span>  }<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span><a name="line.1791"></a>
-<span class="sourceLineNo">1792</span>  /**<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span>   * Puts up the webui.<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span>   * @return Returns final port -- maybe different from what we started with.<a name="line.1794"></a>
-<span class="sourceLineNo">1795</span>   * @throws IOException<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span>   */<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span>  private int putUpWebUI() throws IOException {<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span>    int port = this.conf.getInt(HConstants.REGIONSERVER_INFO_PORT,<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span>      HConstants.DEFAULT_REGIONSERVER_INFOPORT);<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span>    String addr = this.conf.get("hbase.regionserver.info.bindAddress", "0.0.0.0");<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span><a name="line.1801"></a>
-<span class="sourceLineNo">1802</span>    if(this instanceof HMaster) {<a name="line.1802"></a>
-<span class="sourceLineNo">1803</span>      port = conf.getInt(HConstants.MASTER_INFO_PORT,<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span>          HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.1804"></a>
-<span class="sourceLineNo">1805</span>      addr = this.conf.get("hbase.master.info.bindAddress", "0.0.0.0");<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span>    }<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span>    // -1 is for disabling info server<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span>    if (port &lt; 0) return port;<a name="line.1808"></a>
-<span class="sourceLineNo">1809</span><a name="line.1809"></a>
-<span class="sourceLineNo">1810</span>    if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {<a name="line.1810"></a>
-<span class="sourceLineNo">1811</span>      String msg =<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span>          "Failed to start http info server. Address " + addr<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span>              + " does not belong to this host. Correct configuration parameter: "<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span>              + "hbase.regionserver.info.bindAddress";<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span>      LOG.error(msg);<a name="line.1815"></a>
-<span class="sourceLineNo">1816</span>      throw new IOException(msg);<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span>    }<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span>    // check if auto port bind enabled<a name="line.1818"></a>
-<span class="sourceLineNo">1819</span>    boolean auto = this.conf.getBoolean(HConstants.REGIONSERVER_INFO_PORT_AUTO,<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span>        false);<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span>    while (true) {<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span>      try {<a name="line.1822"></a>
-<span class="sourceLineNo">1823</span>        this.infoServer = new InfoServer(getProcessName(), addr, port, false, this.conf);<a name="line.1823"></a>
-<span class="sourceLineNo">1824</span>        infoServer.addServlet("dump", "/dump", getDumpServlet());<a name="line.1824"></a>
-<span class="sourceLineNo">1825</span>        configureInfoServer();<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span>        this.infoServer.start();<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span>        break;<a name="line.1827"></a>
-<span class="sourceLineNo">1828</span>      } catch (BindException e) {<a name="line.1828"></a>
-<span class="sourceLineNo">1829</span>        if (!auto) {<a name="line.1829"></a>
-<span class="sourceLineNo">1830</span>          // auto bind disabled throw BindException<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span>          LOG.error("Failed binding http info server to port: " + port);<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span>          throw e;<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span>        }<a name="line.1833"></a>
-<span class="sourceLineNo">1834</span>        // auto bind enabled, try to use another port<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span>        LOG.info("Failed binding http info server to port: " + port);<a name="line.1835"></a>
-<span class="sourceLineNo">1836</span>        port++;<a name="line.1836"></a>
-<span class="sourceLineNo">1837</span>      }<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span>    }<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span>    port = this.infoServer.getPort();<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span>    conf.setInt(HConstants.REGIONSERVER_INFO_PORT, port);<a name="line.1840"></a>
-<span class="sourceLineNo">1841</span>    int masterInfoPort = conf.getInt(HConstants.MASTER_INFO_PORT,<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span>      HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span>    conf.setInt("hbase.master.info.port.orig", masterInfoPort);<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span>    conf.setInt(HConstants.MASTER_INFO_PORT, port);<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span>    return port;<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span>  }<a name="line.1846"></a>
-<span class="sourceLineNo">1847</span><a name="line.1847"></a>
-<span class="sourceLineNo">1848</span>  /*<a name="line.1848"></a>
-<span class="sourceLineNo">1849</span>   * Verify that server is healthy<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span>   */<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span>  private boolean isHealthy() {<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span>    if (!fsOk) {<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span>      // File system problem<a name="line.1853"></a>
-<span class="sourceLineNo">1854</span>      return false;<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span>    }<a name="line.1855"></a>
-<span class="sourceLineNo">1856</span>    // Verify that all threads are alive<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span>    if (!(leases.isAlive()<a name="line.1857"></a>
-<span class="sourceLineNo">1858</span>        &amp;&amp; cacheFlusher.isAlive() &amp;&amp; walRoller.isAlive()<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span>        &amp;&amp; this.compactionChecker.isScheduled()<a name="line.1859"></a>
-<span class="sourceLineNo">1860</span>        &amp;&amp; this.periodicFlusher.isScheduled())) {<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span>      stop("One or more threads are no longer alive -- stop");<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span>      return false;<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span>    }<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span>    final LogRoller metawalRoller = this.metawalRoller.get();<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span>    if (metawalRoller != null &amp;&amp; !metawalRoller.isAlive()) {<a name="line.1865"></a>
-<span class="sourceLineNo">1866</span>      stop("Meta WAL roller thread is no longer alive -- stop");<a name="line.1866"></a>
-<span class="sourceLineNo">1867</span>      return false;<a name="line.1867"></a>
-<span class="sourceLineNo">1868</span>    }<a name="line.1868"></a>
-<span class="sourceLineNo">1869</span>    return true;<a name="line.1869"></a>
-<span class="sourceLineNo">1870</span>  }<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span><a name="line.1871"></a>
-<span class="sourceLineNo">1872</span>  private static final byte[] UNSPECIFIED_REGION = new byte[]{};<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span><a name="line.1873"></a>
-<span class="sourceLineNo">1874</span>  @Override<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span>  public WAL getWAL(HRegionInfo regionInfo) throws IOException {<a name="line.1875"></a>
-<span class="sourceLineNo">1876</span>    WAL wal;<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span>    LogRoller roller = walRoller;<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span>    //_ROOT_ and hbase:meta regions have separate WAL.<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span>    if (regionInfo != null &amp;&amp; regionInfo.isMetaTable() &amp;&amp;<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span>        regionInfo.getReplicaId() == HRegionInfo.DEFAULT_REPLICA_ID) {<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span>      roller = ensureMetaWALRoller();<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span>      wal = walFactory.getMetaWAL(regionInfo.getEncodedNameAsBytes());<a name="line.1882"></a>
-<span class="sourceLineNo">1883</span>    } else if (regionInfo == null) {<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span>      wal = walFactory.getWAL(UNSPECIFIED_REGION, null);<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span>    } else {<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span>      byte[] namespace = regionInfo.getTable().getNamespace();<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span>      wal = walFactory.getWAL(regionInfo.getEncodedNameAsBytes(), namespace);<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span>    }<a name="line.1888"></a>
-<span class="sourceLineNo">1889</span>    roller.addWAL(wal);<a name="line.1889"></a>
-<span class="sourceLineNo">1890</span>    return wal;<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span>  }<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span><a name="line.1892"></a>
-<span class="sourceLineNo">1893</span>  @Override<a name="line.1893"></a>
-<span class="sourceLineNo">1894</span>  public Connection getConnection() {<a name="line.1894"></a>
-<span class="sourceLineNo">1895</span>    return getClusterConnection();<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>  @Override<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>  public ClusterConnection getClusterConnection() {<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>    return this.clusterConnection;<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>  }<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span><a name="line.1902"></a>
-<span class="sourceLineNo">1903</span>  @Override<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>  public MetaTableLocator getMetaTableLocator() {<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>    return this.metaTableLocator;<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>  }<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span><a name="line.1907"></a>
-<span class="sourceLineNo">1908</span>  @Override<a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>  public void stop(final String msg) {<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>    if (!this.stopped) {<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>      try {<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>        if (this.rsHost != null) {<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>          this.rsHost.preStop(msg);<a name="line.1913"></a>
-<span class="sourceLineNo">1914</span>        }<a name="line.1914"></a>
-<span class="sourceLineNo">1915</span>        this.stopped = true;<a name="line.1915"></a>
-<span class="sourceLineNo">1916</span>        LOG.info("STOPPED: " + msg);<a name="line.1916"></a>
-<span class="sourceLineNo">1917</span>        // Wakes run() if it is sleeping<a name="line.1917"></a>
-<span class="sourceLineNo">1918</span>        sleeper.skipSleepCycle();<a name="line.1918"></a>
-<span class="sourceLineNo">1919</span>      } catch (IOException exp) {<a name="line.1919"></a>
-<span class="sourceLineNo">1920</span>        LOG.warn("The region server did not stop", exp);<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>  }<a name="line.1923"></a>
-<span class="sourceLineNo">1924</span><a name="line.1924"></a>
-<span class="sourceLineNo">1925</span>  public void waitForServerOnline(){<a name="line.1925"></a>
-<span class="sourceLineNo">1926</span>    while (!isStopped() &amp;&amp; !isOnline()) {<a name="line.1926"></a>
-<span class="sourceLineNo">1927</span>      synchronized (online) {<a name="line.1927"></a>
-<span class="sourceLineNo">1928</span>        try {<a name="line.1928"></a>
-<span class="sourceLineNo">1929</span>          online.wait(msgInterval);<a name="line.1929"></a>
-<span class="sourceLineNo">1930</span>        } catch (InterruptedException ie) {<a name="line.1930"></a>
-<span class="sourceLineNo">1931</span>          Thread.currentThread().interrupt();<a name="line.1931"></a>
-<span class="sourceLineNo">1932</span>          break;<a name="line.1932"></a>
-<span class="sourceLineNo">1933</span>        }<a name="line.1933"></a>
-<span class="sourceLineNo">1934</span>      }<a name="line.1934"></a>
-<span class="sourceLineNo">1935</span>    }<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 void postOpenDeployTasks(final Region r) throws KeeperException, IOException {<a name="line.1939"></a>
-<span class="sourceLineNo">1940</span>    postOpenDeployTasks(new PostOpenDeployContext(r, -1));<a name="line.1940"></a>
-<span class="sourceLineNo">1941</span>  }<a name="line.1941"></a>
-<span class="sourceLineNo">1942</span><a name="line.1942"></a>
-<span class="sourceLineNo">1943</span>  @Override<a name="line.1943"></a>
-<span class="sourceLineNo">1944</span>  public void postOpenDeployTasks(final PostOpenDeployContext context)<a name="line.1944"></a>
-<span class="sourceLineNo">1945</span>      throws KeeperException, IOException {<a name="line.1945"></a>
-<span class="sourceLineNo">1946</span>    Region r = context.getRegion();<a name="line.1946"></a>
-<span class="sourceLineNo">1947</span>    long masterSystemTime = context.getMasterSystemTime();<a name="line.1947"></a>
-<span class="sourceLineNo">1948</span>    Preconditions.checkArgument(r instanceof HRegion, "r must be an HRegion");<a name="line.1948"></a>
-<span class="sourceLineNo">1949</span>    rpcServices.checkOpen();<a name="line.1949"></a>
-<span class="sourceLineNo">1950</span>    LOG.info("Post open deploy tasks for " + r.getRegionInfo().getRegionNameAsString());<a name="line.1950"></a>
-<span class="sourceLineNo">1951</span>    // Do checks to see if we need to compact (references or too many files)<a name="line.1951"></a>
-<span class="sourceLineNo">1952</span>    for (Store s : r.getStores()) {<a name="line.1952"></a>
-<span class="sourceLineNo">1953</span>      if (s.hasReferences() || s.needsCompaction()) {<a name="line.1953"></a>
-<span class="sourceLineNo">1954</span>       this.compactSplitThread.requestSystemCompaction(r, s, "Opening Region");<a name="line.1954"></a>
-<span class="sourceLineNo">1955</span>      }<a name="line.1955"></a>
-<span class="sourceLineNo">1956</span>    }<a name="line.1956"></a>
-<span class="sourceLineNo">1957</span>    long openSeqNum = r.getOpenSeqNum();<a name="line.1957"></a>
-<span class="sourceLineNo">1958</span>    if (openSeqNum == HConstants.NO_SEQNUM) {<a name="line.1958"></a>
-<span class="sourceLineNo">1959</span>      // If we opened a region, we should have read some sequence number from it.<a name="line.1959"></a>
-<span class="sourceLineNo">1960</span>      LOG.error("No sequence number found when opening " +<a name="line.1960"></a>
-<span class="sourceLineNo">1961</span>        r.getRegionInfo().getRegionNameAsString());<a name="line.1961"></a>
-<span class="sourceLineNo">1962</span>      openSeqNum = 0;<a name="line.1962"></a>
-<span class="sourceLineNo">1963</span>    }<a name="line.1963"></a>
-<span class="sourceLineNo">1964</span><a name="line.1964"></a>
-<span class="sourceLineNo">1965</span>    // Update flushed sequence id of a recovering region in ZK<a name="line.1965"></a>
-<span class="sourceLineNo">1966</span>    updateRecoveringRegionLastFlushedSequenceId(r);<a name="line.1966"></a>
-<span class="sourceLineNo">1967</span><a name="line.1967"></a>
-<span class="sourceLineNo">1968</span>    // Notify master<a name="line.1968"></a>
-<span class="sourceLineNo">1969</span>    if (!reportRegionStateTransition(new RegionStateTransitionContext(<a name="line.1969"></a>
-<span class="sourceLineNo">1970</span>        TransitionCode.OPENED, openSeqNum, masterSystemTime, r.getRegionInfo()))) {<a name="line.1970"></a>
-<span class="sourceLineNo">1971</span>      throw new IOException("Failed to report opened region to master: "<a name="line.1971"></a>
-<span class="sourceLineNo">1972</span>        + r.getRegionInfo().getRegionNameAsString());<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>    triggerFlushInPrimaryRegion((HRegion)r);<a name="line.1975"></a>
-<span class="sourceLineNo">1976</span><a name="line.1976"></a>
-<span class="sourceLineNo">1977</span>    LOG.debug("Finished post open deploy task for " + r.getRegionInfo().getRegionNameAsString());<a name="line.1977"></a>
-<span class="sourceLineNo">1978</span>  }<a name="line.1978"></a>
-<span class="sourceLineNo">1979</span><a name="line.1979"></a>
-<span class="sourceLineNo">1980</span>  @Override<a name="line.1980"></a>
-<span class="sourceLineNo">1981</span>  public boolean reportRegionStateTransition(TransitionCode code, HRegionInfo... hris) {<a name="line.1981"></a>
-<span class="sourceLineNo">1982</span>    return reportRegionStateTransition(code, HConstants.NO_SEQNUM, hris);<a name="line.1982"></a>
-<span class="sourceLineNo">1983</span>  }<a name="line.1983"></a>
-<span class="sourceLineNo">1984</span><a name="line.1984"></a>
-<span class="sourceLineNo">1985</span>  @Override<a name="line.1985"></a>
-<span class="sourceLineNo">1986</span>  public boolean reportRegionStateTransition(<a name="line.1986"></a>
-<span class="sourceLineNo">1987</span>      TransitionCode code, long openSeqNum, HRegionInfo... hris) {<a name="line.1987"></a>
-<span class="sourceLineNo">1988</span>    return reportRegionStateTransition(<a name="line.1988"></a>
-<span class="sourceLineNo">1989</span>      new RegionStateTransitionContext(code, HConstants.NO_SEQNUM, -1, hris));<a name="line.1989"></a>
-<span class="sourceLineNo">1990</span>  }<a name="line.1990"></a>
-<span class="sourceLineNo">1991</span><a name="line.1991"></a>
-<span class="sourceLineNo">1992</span>  @Override<a name="line.1992"></a>
-<span class="sourceLineNo">1993</span>  public boolean reportRegionStateTransition(final RegionStateTransitionContext context) {<a name="line.1993"></a>
-<span class="sourceLineNo">1994</span>    TransitionCode code = context.getCode();<a name="line.1994"></a>
-<span class="sourceLineNo">1995</span>    long openSeqNum = context.getOpenSeqNum();<a name="line.1995"></a>
-<span class="sourceLineNo">1996</span>    long masterSystemTime = context.getMasterSystemTime();<a name="line.1996"></a>
-<span class="sourceLineNo">1997</span>    HRegionInfo[] hris = context.getHris();<a name="line.1997"></a>
-<span class="sourceLineNo">1998</span><a name="line.1998"></a>
-<span class="sourceLineNo">1999</span>    if (TEST_SKIP_REPORTING_TRANSITION) {<a name="line.1999"></a>
-<span class="sourceLineNo">2000</span>      // This is for testing only in case there is no master<a name="line.2000"></a>
-<span class="sourceLineNo">2001</span>      // to handle the region transition report at all.<a name="line.2001"></a>
-<span class="sourceLineNo">2002</span>      if (code == TransitionCode.OPENED) {<a name="line.2002"></a>
-<span class="sourceLineNo">2003</span>        Preconditions.checkArgument(hris != null &amp;&amp; hris.length == 1);<a name="line.2003"></a>
-<span class="sourceLineNo">2004</span>        if (hris[0].isMetaRegion()) {<a name="line.2004"></a>
-<span class="sourceLineNo">2005</span>          try {<a name="line.2005"></a>
-<span class="sourceLineNo">2006</span>            MetaTableLocator.setMetaLocation(getZooKeeper(), serverName,<a name="line.2006"></a>
-<span class="sourceLineNo">2007</span>                hris[0].getReplicaId(),State.OPEN);<a name="line.2007"></a>
-<span class="sourceLineNo">2008</span>          } catch (KeeperException e) {<a name="line.2008"></a>
-<span class="sourceLineNo">2009</span>            LOG.info("Failed to update meta location", e);<a name="line.2009"></a>
-<span class="sourceLineNo">2010</span>            return false;<a name="line.2010"></a>
-<span class="sourceLineNo">2011</span>          }<a name="line.2011"></a>
-<span class="sourceLineNo">2012</span>        } else {<a name="line.2012"></a>
-<span class="sourceLineNo">2013</span>          try {<a name="line.2013"></a>
-<span class="sourceLineNo">2014</span>            MetaTableAccessor.updateRegionLocation(clusterConnection,<a name="line.2014"></a>
-<span class="sourceLineNo">2015</span>              hris[0], serverName, openSeqNum, masterSystemTime);<a name="line.2015"></a>
-<span class="sourceLineNo">2016</span>          } catch (IOException e) {<a name="line.2016"></a>
-<span class="sourceLineNo">2017</span>            LOG.info("Failed to update meta", e);<a name="line.2017"></a>
-<span class="sourceLineNo">2018</span>            return false;<a name="line.2018"></a>
-<span class="sourceLineNo">2019</span>          }<a name="line.2019"></a>
-<span class="sourceLineNo">2020</span>        }<a name="line.2020"></a>
-<span class="sourceLineNo">2021</span>      }<a name="line.2021"></a>
-<span class="sourceLineNo">2022</span>      return true;<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>    ReportRegionStateTransitionRequest.Builder builder =<a name="line.2025"></a>
-<span class="sourceLineNo">2026</span>      ReportRegionStateTransitionRequest.newBuilder();<a name="line.2026"></a>
-<span class="sourceLineNo">2027</span>    builder.setServer(ProtobufUtil.toServerName(serverName));<a name="line.2027"></a>
-<span class="sourceLineNo">2028</span>    RegionStateTransition.Builder transition = builder.addTransitionBuilder();<a name="line.2028"></a>
-<span class="sourceLineNo">2029</span>    transition.setTransitionCode(code);<a name="line.2029"></a>
-<span class="sourceLineNo">2030</span>    if (code == TransitionCode.OPENED &amp;&amp; openSeqNum &gt;= 0) {<a name="line.2030"></a>
-<span class="sourceLineNo">2031</span>      transition.setOpenSeqNum(openSeqNum);<a name="line.2031"></a>
-<span class="sourceLineNo">2032</span>    }<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>    for (HRegionInfo hri: hris) {<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>      transition.addRegionInfo(HRegionInfo.convert(hri));<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span>    }<a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>    ReportRegionStateTransitionRequest request = builder.build();<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>    while (keepLooping()) {<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2038"></a>
-<span class="sourceLineNo">2039</span>      try {<a name="line.2039"></a>
-<span class="sourceLineNo">2040</span>        if (rss == null) {<a name="line.2040"></a>
-<span class="sourceLineNo">2041</span>          createRegionServerStatusStub();<a name="line.2041"></a>
-<span class="sourceLineNo">2042</span>          continue;<a name="line.2042"></a>
-<span class="sourceLineNo">2043</span>        }<a name="line.2043"></a>
-<span class="sourceLineNo">2044</span>        ReportRegionStateTransitionResponse response =<a name="line.2044"></a>
-<span class="sourceLineNo">2045</span>          rss.reportRegionStateTransition(null, request);<a name="line.2045"></a>
-<span class="sourceLineNo">2046</span>        if (response.hasErrorMessage()) {<a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>          LOG.info("Failed to transition " + hris[0]<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>            + " to " + code + ": " + response.getErrorMessage());<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>          return false;<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>        }<a name="line.2050"></a>
-<span class="sourceLineNo">2051</span>        return true;<a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>      } catch (ServiceException se) {<a name="line.2052"></a>
-<span class="sourceLineNo">2053</span>        IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>        LOG.info("Failed to report region transition, will retry", ioe);<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span>        if (rssStub == rss) {<a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>          rssStub = null;<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>    return false;<a name="line.2060"></a>
-<span class="sourceLineNo">2061</span>  }<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span><a name="line.2062"></a>
-<span class="sourceLineNo">2063</span>  /**<a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>   * Trigger a flush in the primary region replica if this region is a secondary replica. Does not<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span>   * block this thread. See RegionReplicaFlushHandler for details.<a name="line.2065"></a>
-<span class="sourceLineNo">2066</span>   */<a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>  void triggerFlushInPrimaryRegion(final HRegion region) {<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>    if (ServerRegionReplicaUtil.isDefaultReplica(region.getRegionInfo())) {<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span>      return;<a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>    }<a name="line.2070"></a>
-<span class="sourceLineNo">2071</span>    if (!ServerRegionReplicaUtil.isRegionReplicaReplicationEnabled(region.conf) ||<a name="line.2071"></a>
-<span class="sourceLineNo">2072</span>        !ServerRegionReplicaUtil.isRegionReplicaWaitForPrimaryFlushEnabled(<a name="line.2072"></a>
-<span class="sourceLineNo">2073</span>          region.conf)) {<a name="line.2073"></a>
-<span class="sourceLineNo">2074</span>      region.setReadsEnabled(true);<a name="line.2074"></a>
-<span class="sourceLineNo">2075</span>      return;<a name="line.2075"></a>
-<span class="sourceLineNo">2076</span>    }<a name="line.2076"></a>
-<span class="sourceLineNo">2077</span><a name="line.2077"></a>
-<span class="sourceLineNo">2078</span>    region.setReadsEnabled(false); // disable reads before marking the region as opened.<a name="line.2078"></a>
-<span class="sourceLineNo">2079</span>    // RegionReplicaFlushHandler might reset this.<a name="line.2079"></a>
-<span class="sourceLineNo">2080</span><a name="line.2080"></a>
-<span class="sourceLineNo">2081</span>    // submit it to be handled by one of the handlers so that we do not block OpenRegionHandler<a name="line.2081"></a>
-<span class="sourceLineNo">2082</span>    this.service.submit(<a name="line.2082"></a>
-<span class="sourceLineNo">2083</span>      new RegionReplicaFlushHandler(this, clusterConnection,<a name="line.2083"></a>
-<span class="sourceLineNo">2084</span>        rpcRetryingCallerFactory, rpcControllerFactory, operationTimeout, region));<a name="line.2084"></a>
-<span class="sourceLineNo">2085</span>  }<a name="line.2085"></a>
-<span class="sourceLineNo">2086</span><a name="line.2086"></a>
-<span class="sourceLineNo">2087</span>  @Override<a name="line.2087"></a>
-<span class="sourceLineNo">2088</span>  public RpcServerInterface getRpcServer() {<a name="line.2088"></a>
-<span class="sourceLineNo">2089</span>    return rpcServices.rpcServer;<a name="line.2089"></a>
-<span class="sourceLineNo">2090</span>  }<a name="line.2090"></a>
-<span class="sourceLineNo">2091</span><a name="line.2091"></a>
-<span class="sourceLineNo">2092</span>  @VisibleForTesting<a name="line.2092"></a>
-<span class="sourceLineNo">2093</span>  public RSRpcServices getRSRpcServices() {<a name="line.2093"></a>
-<span class="sourceLineNo">2094</span>    return rpcServices;<a name="line.2094"></a>
-<span class="sourceLineNo">2095</span>  }<a name="line.2095"></a>
-<span class="sourceLineNo">2096</span><a name="line.2096"></a>
-<span class="sourceLineNo">2097</span>  /**<a name="line.2097"></a>
-<span class="sourceLineNo">2098</span>   * Cause the server to exit without closing the regions it is serving, the log<a name="line.2098"></a>
-<span class="sourceLineNo">2099</span>   * it is using and without notifying the master. Used unit testing and on<a name="line.2099"></a>
-<span class="sourceLineNo">2100</span>   * catastrophic events such as HDFS is yanked out from under hbase or we OOME.<a name="line.2100"></a>
-<span class="sourceLineNo">2101</span>   *<a name="line.2101"></a>
-<span class="sourceLineNo">2102</span>   * @param reason<a name="line.2102"></a>
-<span class="sourceLineNo">2103</span>   *          the reason we are aborting<a name="line.2103"></a>
-<span class="sourceLineNo">2104</span>   * @param cause<a name="line.2104"></a>
-<span class="sourceLineNo">2105</span>   *          the exception that caused the abort, or null<a name="line.2105"></a>
-<span class="sourceLineNo">2106</span>   */<a name="line.2106"></a>
-<span class="sourceLineNo">2107</span>  @Override<a name="line.2107"></a>
-<span class="sourceLineNo">2108</span>  public void abort(String reason, Throwable cause) {<a name="line.2108"></a>
-<span class="sourceLineNo">2109</span>    String msg = "ABORTING region server " + this + ": " + reason;<a name="line.2109"></a>
-<span class="sourceLineNo">2110</span>    if (cause != null) {<a name="line.2110"></a>
-<span class="sourceLineNo">2111</span>      LOG.fatal(msg, cause);<a name="line.2111"></a>
-<span class="sourceLineNo">2112</span>    } else {<a name="line.2112"></a>
-<span class="sourceLineNo">2113</span>      LOG.fatal(msg);<a name="line.2113"></a>
-<span class="sourceLineNo">2114</span>    }<a name="line.2114"></a>
-<span class="sourceLineNo">2115</span>    this.abortRequested = true;<a name="line.2115"></a>
-<span class="sourceLineNo">2116</span>    // HBASE-4014: show list of coprocessors that were loaded to help debug<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span>    // regionserver crashes.Note that we're implicitly using<a name="line.2117"></a>
-<span class="sourceLineNo">2118</span>    // java.util.HashSet's toString() method to print the coprocessor names.<a name="line.2118"></a>
-<span class="sourceLineNo">2119</span>    LOG.fatal("RegionServer abort: loaded coprocessors are: " +<a name="line.2119"></a>
-<span class="sourceLineNo">2120</span>        CoprocessorHost.getLoadedCoprocessors());<a name="line.2120"></a>
-<span class="sourceLineNo">2121</span>    // Try and dump metrics if abort -- might give clue as to how fatal came about....<a name="line.2121"></a>
-<span class="sourceLineNo">2122</span>    try {<a name="line.2122"></a>
-<span class="sourceLineNo">2123</span>      LOG.info("Dump of metrics as JSON on abort: " + JSONBean.dumpRegionServerMetrics());<a name="line.2123"></a>
-<span class="sourceLineNo">2124</span>    } catch (MalformedObjectNameException | IOException e) {<a name="line.2124"></a>
-<span class="sourceLineNo">2125</span>      LOG.warn("Failed dumping metrics", e);<a name="line.2125"></a>
-<span class="sourceLineNo">2126</span>    }<a name="line.2126"></a>
-<span class="sourceLineNo">2127</span><a name="line.2127"></a>
-<span class="sourceLineNo">2128</span>    // Do our best to report our abort to the master, but this may not work<a name="line.2128"></a>
-<span class="sourceLineNo">2129</span>    try {<a name="line.2129"></a>
-<span class="sourceLineNo">2130</span>      if (cause != null) {<a name="line.2130"></a>
-<span class="sourceLineNo">2131</span>        msg += "\nCause:\n" + StringUtils.stringifyException(cause);<a name="line.2131"></a>
-<span class="sourceLineNo">2132</span>      }<a name="line.2132"></a>
-<span class="sourceLineNo">2133</span>      // Report to the master but only if we have already registered with the master.<a name="line.2133"></a>
-<span class="sourceLineNo">2134</span>      if (rssStub != null &amp;&amp; this.serverName != null) {<a name="line.2134"></a>
-<span class="sourceLineNo">2135</span>        ReportRSFatalErrorRequest.Builder builder =<a name="line.2135"></a>
-<span class="sourceLineNo">2136</span>          ReportRSFatalErrorRequest.newBuilder();<a name="line.2136"></a>
-<span class="sourceLineNo">2137</span>        ServerName sn =<a name="line.2137"></a>
-<span class="sourceLineNo">2138</span>          ServerName.parseVersionedServerName(this.serverName.getVersionedBytes());<a name="line.2138"></a>
-<span class="sourceLineNo">2139</span>        builder.setServer(ProtobufUtil.toServerName(sn));<a name="line.2139"></a>
-<span class="sourceLineNo">2140</span>        builder.setErrorMessage(msg);<a name="line.2140"></a>
-<span class="sourceLineNo">2141</span>        rssStub.reportRSFatalError(null, builder.build());<a name="line.2141"></a>
-<span class="sourceLineNo">2142</span>      }<a name="line.2142"></a>
-<span class="sourceLineNo">2143</span>    } catch (Throwable t) {<a name="line.2143"></a>
-<span class="sourceLineNo">2144</span>      LOG.warn("Unable to report fatal error to master", t);<a name="line.2144"></a>
-<span class="sourceLineNo">2145</span>    }<a name="line.2145"></a>
-<span class="sourceLineNo">2146</span>    stop(reason);<a name="line.2146"></a>
-<span class="sourceLineNo">2147</span>  }<a name="line.2147"></a>
-<span class="sourceLineNo">2148</span><a name="line.2148"></a>
-<span class="sourceLineNo">2149</span>  /**<a name="line.2149"></a>
-<span class="sourceLineNo">2150</span>   * @see HRegionServer#abort(String, Throwable)<a name="line.2150"></a>
-<span class="sourceLineNo">2151</span>   */<a name="line.2151"></a>
-<span class="sourceLineNo">2152</span>  public void abort(String reason) {<a name="line.2152"></a>
-<span class="sourceLineNo">2153</span>    abort(reason, null);<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>  @Override<a name="line.2156"></a>
-<span class="sourceLineNo">2157</span>  public boolean isAborted() {<a name="line.2157"></a>
-<span class="sourceLineNo">2158</span>    return this.abortRequested;<a name="line.2158"></a>
-<span class="sourceLineNo">2159</span>  }<a name="line.2159"></a>
-<span class="sourceLineNo">2160</span><a name="line.2160"></a>
-<span class="sourceLineNo">2161</span>  /*<a name="line.2161"></a>
-<span class="sourceLineNo">2162</span>   * Simulate a kill -9 of this server. Exits w/o closing regions or cleaninup<a name="line.2162"></a>
-<span class="sourceLineNo">2163</span>   * logs but it does close socket in case want to bring up server on old<a name="line.2163"></a>
-<span class="sourceLineNo">2164</span>   * hostname+port immediately.<a name="line.2164"></a>
-<span class="sourceLineNo">2165</span>   */<a name="line.2165"></a>
-<span class="sourceLineNo">2166</span>  protected void kill() {<a name="line.2166"></a>
-<span class="sourceLineNo">2167</span>    this.killed = true;<a name="line.2167"></a>
-<span class="sourceLineNo">2168</span>    abort("Simulated kill");<a name="line.2168"></a>
-<span class="sourceLineNo">2169</span>  }<a name="line.2169"></a>
-<span class="sourceLineNo">2170</span><a name="line.2170"></a>
-<span class="sourceLineNo">2171</span>  /**<a name="line.2171"></a>
-<span class="sourceLineNo">2172</span>   * Called on stop/abort before closing the cluster connection and meta locator.<a name="line.2172"></a>
-<span class="sourceLineNo">2173</span>   */<a name="line.2173"></a>
-<span class="sourceLineNo">2174</span>  protected void sendShutdownInterrupt() {<a name="line.2174"></a>
-<span class="sourceLineNo">2175</span>  }<a name="line.2175"></a>
-<span class="sourceLineNo">2176</span><a name="line.2176"></a>
-<span class="sourceLineNo">2177</span>  /**<a name="line.2177"></a>
-<span class="sourceLineNo">2178</span>   * Wait on all threads to finish. Presumption is that all closes and stops<a name="line.2178"></a>
-<span class="sourceLineNo">2179</span>   * have already been called.<a name="line.2179"></a>
-<span class="sourceLineNo">2180</span>   */<a name="line.2180"></a>
-<span class="sourceLineNo">2181</span>  protected void stopServiceThreads() {<a name="line.2181"></a>
-<span class="sourceLineNo">2182</span>    // clean up the scheduled chores<a name="line.2182"></a>
-<span class="sourceLineNo">2183</span>    if (this.choreService != null) choreService.shutdown();<a name="line.2183"></a>
-<span class="sourceLineNo">2184</span>    if (this.nonceManagerChore != null) nonceManagerChore.cancel(true);<a name="line.2184"></a>
-<span class="sourceLineNo">2185</span>    if (this.compactionChecker != null) compactionChecker.cancel(true);<a name="line.2185"></a>
-<span class="sourceLineNo">2186</span>    if (this.periodicFlusher != null) periodicFlusher.cancel(true);<a name="line.2186"></a>
-<span class="sourceLineNo">2187</span>    if (this.healthCheckChore != null) healthCheckChore.cancel(true);<a name="line.2187"></a>
-<span class="sourceLineNo">2188</span>    if (this.storefileRefresher != null) storefileRefresher.cancel(true);<a name="line.2188"></a>
-<span class="sourceLineNo">2189</span>    if (this.movedRegionsCleaner != null) movedRegionsCleaner.cancel(true);<a name="line.2189"></a>
-<span class="sourceLineNo">2190</span><a name="line.2190"></a>
-<span class="sourceLineNo">2191</span>    if (this.cacheFlusher != null) {<a name="line.2191"></a>
-<span class="sourceLineNo">2192</span>      this.cacheFlusher.join();<a name="line.2192"></a>
-<span class="sourceLineNo">2193</span>    }<a name="line.2193"></a>
-<span class="sourceLineNo">2194</span><a name="line.2194"></a>
-<span class="sourceLineNo">2195</span>    if (this.spanReceiverHost != null) {<a name="line.2195"></a>
-<span class="sourceLineNo">2196</span>      this.spanReceiverHost.closeReceivers();<a name="line.2196"></a>
-<span class="sourceLineNo">2197</span>    }<a name="line.2197"></a>
-<span class="sourceLineNo">2198</span>    if (this.walRoller != null) {<a name="line.2198"></a>
-<span class="sourceLineNo">2199</span>      Threads.shutdown(this.walRoller.getThread());<a name="line.2199"></a>
-<span class="sourceLineNo">2200</span>    }<a name="line.2200"></a>
-<span class="sourceLineNo">2201</span>    final LogRoller metawalRoller = this.metawalRoller.get();<a name="line.2201"></a>
-<span class="sourceLineNo">2202</span>    if (metawalRoller != null) {<a name="line.2202"></a>
-<span class="sourceLineNo">2203</span>      Threads.shutdown(metawalRoller.getThread());<a name="line.2203"></a>
-<span class="sourceLineNo">2204</span>    }<a name="line.2204"></a>
-<span class="sourceLineNo">2205</span>    if (this.compactSplitThread != null) {<a name="line.2205"></a>
-<span class="sourceLineNo">2206</span>      this.compactSplitThread.join();<a name="line.2206"></a>
-<span class="sourceLineNo">2207</span>    }<a name="line.2207"></a>
-<span class="sourceLineNo">2208</span>    if (this.service != null) this.service.shutdown();<a name="line.2208"></a>
-<span class="sourceLineNo">2209</span>    if (this.replicationSourceHandler != null &amp;&amp;<a name="line.2209"></a>
-<span class="sourceLineNo">2210</span>        this.replicationSourceHandler == this.replicationSinkHandler) {<a name="line.2210"></a>
-<span class="sourceLineNo">2211</span>      this.replicationSourceHandler.stopReplicationService();<a name="line.2211"></a>
-<span class="sourceLineNo">2212</span>    } else {<a name="line.2212"></a>
-<span class="sourceLineNo">2213</span>      if (this.replicationSourceHandler != null) {<a name="line.2213"></a>
-<span class="sourceLineNo">2214</span>        this.replicationSourceHandler.stopReplicationService();<a name="line.2214"></a>
-<span class="sourceLineNo">2215</span>      }<a name="line.2215"></a>
-<span class="sourceLineNo">2216</span>      if (this.replicationSinkHandler != null) {<a name="line.2216"></a>
-<span class="sourceLineNo">2217</span>        this.replicationSinkHandler.stopReplicationService();<a name="line.2217"></a>
-<span class="sourceLineNo">2218</span>      }<a name="line.2218"></a>
-<span class="sourceLineNo">2219</span>    }<a name="line.2219"></a>
-<span class="sourceLineNo">2220</span>  }<a name="line.2220"></a>
-<span class="sourceLineNo">2221</span><a name="line.2221"></a>
-<span class="sourceLineNo">2222</span>  /**<a name="line.2222"></a>
-<span class="sourceLineNo">2223</span>   * @return Return the object that implements the replication<a name="line.2223"></a>
-<span class="sourceLineNo">2224</span>   * source service.<a name="line.2224"></a>
-<span class="sourceLineNo">2225</span>   */<a name="line.2225"></a>
-<span class="sourceLineNo">2226</span>  ReplicationSourceService getReplicationSourceService() {<a name="line.2226"></a>
-<span class="sourceLineNo">2227</span>    return replicationSourceHandler;<a name="line.2227"></a>
-<span class="sourceLineNo">2228</span>  }<a name="line.2228"></a>
-<span class="sourceLineNo">2229</span><a name="line.2229"></a>
-<span class="sourceLineNo">2230</span>  /**<a name="line.2230"></a>
-<span class="sourceLineNo">2231</span>   * @return Return the object that implements the replication<a name="line.2231"></a>
-<span class="sourceLineNo">2232</span>   * sink service.<a name="line.2232"></a>
-<span class="sourceLineNo">2233</span>   */<a name="line.2233"></a>
-<span class="sourceLineNo">2234</span>  ReplicationSinkService getReplicationSinkService() {<a name="line.2234"></a>
-<span class="sourceLineNo">2235</span>    return replicationSinkHandler;<a name="line.2235"></a>
-<span class="sourceLineNo">2236</span>  }<a name="line.2236"></a>
-<span class="sourceLineNo">2237</span><a name="line.2237"></a>
-<span class="sourceLineNo">2238</span>  /**<a name="line.2238"></a>
-<span class="sourceLineNo">2239</span>   * Get the current master from ZooKeeper and open the RPC connection to it.<a name="line.2239"></a>
-<span class="sourceLineNo">2240</span>   * To get a fresh connection, the current rssStub must be null.<a name="line.2240"></a>
-<span class="sourceLineNo">2241</span>   * Method will block until a master is available. You can break from this<a name="line.2241"></a>
-<span class="sourceLineNo">2242</span>   * block by requesting the server stop.<a name="line.2242"></a>
-<span class="sourceLineNo">2243</span>   *<a name="line.2243"></a>
-<span class="sourceLineNo">2244</span>   * @return master + port, or null if server has been stopped<a name="line.2244"></a>
-<span class="sourceLineNo">2245</span>   */<a name="line.2245"></a>
-<span class="sourceLineNo">2246</span>  @VisibleForTesting<a name="line.2246"></a>
-<span class="sourceLineNo">2247</span>  protected synchronized ServerName createRegionServerStatusStub() {<a name="line.2247"></a>
-<span class="sourceLineNo">2248</span>    if (rssStub != null) {<a name="line.2248"></a>
-<span class="sourceLineNo">2249</span>      return masterAddressTracker.getMasterAddress();<a name="line.2249"></a>
-<span class="sourceLineNo">2250</span>    }<a name="line.2250"></a>
-<span class="sourceLineNo">2251</span>    ServerName sn = null;<a name="line.2251"></a>
-<span class="sourceLineNo">2252</span>    long previousLogTime = 0;<a name="line.2252"></a>
-<span class="sourceLineNo">2253</span>    boolean refresh = false; // for the first time, use cached data<a name="line.2253"></a>
-<span class="sourceLineNo">2254</span>    RegionServerStatusService.BlockingInterface intf = null;<a name="line.2254"></a>
-<span class="sourceLineNo">2255</span>    boolean interrupted = false;<a name="line.2255"></a>
-<span class="sourceLineNo">2256</span>    try {<a name="line.2256"></a>
-<span class="sourceLineNo">2257</span>      while (keepLooping()) {<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>        sn = this.masterAddressTracker.getMasterAddress(refresh);<a name="line.2258"></a>
-<span class="sourceLineNo">2259</span>        if (sn == null) {<a name="line.2259"></a>
-<span class="sourceLineNo">2260</span>          if (!keepLooping()) {<a name="line.2260"></a>
-<span class="sourceLineNo">2261</span>            // give up with no connection.<a name="line.2261"></a>
-<span class="sourceLineNo">2262</span>            LOG.debug("No master found and cluster is stopped; bailing out");<a name="line.2262"></a>
-<span class="sourceLineNo">2263</span>            return null;<a name="line.2263"></a>
-<span class="sourceLineNo">2264</span>          }<a name="line.2264"></a>
-<span class="sourceLineNo">2265</span>          if (System.currentTimeMillis() &gt; (previousLogTime + 1000)) {<a name="line.2265"></a>
-<span class="sourceLineNo">2266</span>            LOG.debug("No master found; retry");<a name="line.2266"></a>
-<span class="sourceLineNo">2267</span>            previousLogTime = System.currentTimeMillis();<a name="line.2267"></a>
-<span class="sourceLineNo">2268</span>          }<a name="line.2268"></a>
-<span class="sourceLineNo">2269</span>          refresh = true; // let's try pull it from ZK directly<a name="line.2269"></a>
-<span class="sourceLineNo">2270</span>          if (sleep(200)) {<a name="line.2270"></a>
-<span class="sourceLineNo">2271</span>            interrupted = true;<a name="line.2271"></a>
-<span class="sourceLineNo">2272</span>          }<a name="line.2272"></a>
-<span class="sourceLineNo">2273</span>          continue;<a name="line.2273"></a>
-<span class="sourceLineNo">2274</span>        }<a name="line.2274"></a>
-<span class="sourceLineNo">2275</span><a name="line.2275"></a>
-<span class="sourceLineNo">2276</span>        // If we are on the active master, use the shortcut<a name="line.2276"></a>
-<span class="sourceLineNo">2277</span>        if (this instanceof HMaster &amp;&amp; sn.equals(getServerName())) {<a name="line.2277"></a>
-<span class="sourceLineNo">2278</span>          intf = ((HMaster)this).getMasterRpcServices();<a name="line.2278"></a>
-<span class="sourceLineNo">2279</span>          break;<a name="line.2279"></a>
-<span class="sourceLineNo">2280</span>        }<a name="line.2280"></a>
-<span class="sourceLineNo">2281</span>        try {<a name="line.2281"></a>
-<span class="sourceLineNo">2282</span>          BlockingRpcChannel channel =<a name="line.2282"></a>
-<span class="sourceLineNo">2283</span>            this.rpcClient.createBlockingRpcChannel(sn, userProvider.getCurrent(),<a name="line.2283"></a>
-<span class="sourceLineNo">2284</span>              shortOperationTimeout);<a name="line.2284"></a>
-<span class="sourceLineNo">2285</span>          intf = RegionServerStatusService.newBlockingStub(channel);<a name="line.2285"></a>
-<span class="sourceLineNo">2286</span>          break;<a name="line.2286"></a>
-<span class="sourceLineNo">2287</span>        } catch (IOException e) {<a name="line.2287"></a>
-<span class="sourceLineNo">2288</span>          if (System.currentTimeMillis() &gt; (previousLogTime + 1000)) {<a name="line.2288"></a>
-<span class="sourceLineNo">2289</span>            e = e instanceof RemoteException ?<a name="line.2289"></a>
-<span class="sourceLineNo">2290</span>              ((RemoteException)e).unwrapRemoteException() : e;<a name="line.2290"></a>
-<span class="sourceLineNo">2291</span>            if (e instanceof ServerNotRunningYetException) {<a name="line.2291"></a>
-<span class="sourceLineNo">2292</span>              LOG.info("Master isn't available yet, retrying");<a name="line.2292"></a>
-<span class="sourceLineNo">2293</span>            } else {<a name="line.2293"></a>
-<span class="sourceLineNo">2294</span>              LOG.warn("Unable to connect to master. Retrying. Error was:", e);<a name="line.2294"></a>
-<span class="sourceLineNo">2295</span>            }<a name="line.2295"></a>
-<span class="sourceLineNo">2296</span>            previousLogTime = System.currentTimeMillis();<a name="line.2296"></a>
-<span class="sourceLineNo">2297</span>          }<a name="line.2297"></a>
-<span class="sourceLineNo">2298</span>          if (sleep(200)) {<a name="line.2298"></a>
-<span class="sourceLineNo">2299</span>            interrupted = true;<a name="line.2299"></a>
-<span class="sourceLineNo">2300</span>          }<a name="line.2300"></a>
-<span class="sourceLineNo">2301</span>        }<a name="line.2301"></a>
-<span class="sourceLineNo">2302</span>      }<a name="line.2302"></a>
-<span class="sourceLineNo">2303</span>    } finally {<a name="line.2303"></a>
-<span class="sourceLineNo">2304</span>      if (interrupted) {<a name="line.2304"></a>
-<span class="sourceLineNo">2305</span>        Thread.currentThread().interrupt();<a name="line.2305"></a>
-<span class="sourceLineNo">2306</span>      }<a name="line.2306"></a>
-<span class="sourceLineNo">2307</span>    }<a name="line.2307"></a>
-<span class="sourceLineNo">2308</span>    rssStub = intf;<a name="line.2308"></a>
-<span class="sourceLineNo">2309</span>    return sn;<a name="line.2309"></a>
-<span class="sourceLineNo">2310</span>  }<a name="line.2310"></a>
-<span class="sourceLineNo">2311</span><a name="line.2311"></a>
-<span class="sourceLineNo">2312</span>  /**<a name="line.2312"></a>
-<span class="sourceLineNo">2313</span>   * @return True if we should break loop because cluster is going down or<a name="line.2313"></a>
-<span class="sourceLineNo">2314</span>   * this server has been stopped or hdfs has gone bad.<a name="line.2314"></a>
-<span class="sourceLineNo">2315</span>   */<a name="line.2315"></a>
-<span class="sourceLineNo">2316</span>  private boolean keepLooping() {<a name="line.2316"></a>
-<span class="sourceLineNo">2317</span>    return !this.stopped &amp;&amp; isClusterUp();<a name="line.2317"></a>
-<span class="sourceLineNo">2318</span>  }<a name="line.2318"></a>
-<span class="sourceLineNo">2319</span><a name="line.2319"></a>
-<span class="sourceLineNo">2320</span>  /*<a name="line.2320"></a>
-<span class="sourceLineNo">2321</span>   * Let the master know we're here Run initialization using parameters passed<a name="line.2321"></a>
-<span class="sourceLineNo">2322</span>   * us by the master.<a name="line.2322"></a>
-<span class="sourceLineNo">2323</span>   * @return A Map of key/value configurations we got from the Master else<a name="line.2323"></a>
-<span class="sourceLineNo">2324</span>   * null if we failed to register.<a name="line.2324"></a>
-<span class="sourceLineNo">2325</span>   * @throws IOException<a name="line.2325"></a>
-<span class="sourceLineNo">2326</span>   */<a name="line.2326"></a>
-<span class="sourceLineNo">2327</span>  private RegionServerStartupResponse reportForDuty() throws IOException {<a name="line.2327"></a>
-<span class="sourceLineNo">2328</span>    ServerName masterServerName = createRegionServerStatusStub();<a name="line.2328"></a>
-<span class="sourceLineNo">2329</span>    if (masterServerName == null) return null;<a name="line.2329"></a>
-<span class="sourceLineNo">2330</span>    RegionServerStartupResponse result = null;<a name="line.2330"></a>
-<span class="sourceLineNo">2331</span>    try {<a name="line.2331"></a>
-<span class="sourceLineNo">2332</span>      rpcServices.requestCount.set(0);<a name="line.2332"></a>
-<span class="sourceLineNo">2333</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2333"></a>
-<span class="sourceLineNo">2334</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2334"></a>
-<span class="sourceLineNo">2335</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2335"></a>
-<span class="sourceLineNo">2336</span>      int port = rpcServices.isa.getPort();<a name="line.2336"></a>
-<span class="sourceLineNo">2337</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2337"></a>
-<span class="sourceLineNo">2338</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2338"></a>
-<span class="sourceLineNo">2339</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2339"></a>
-<span class="sourceLineNo">2340</span>      }<a name="line.2340"></a>
-<span class="sourceLineNo">2341</span>      request.setPort(port);<a name="line.2341"></a>
-<span class="sourceLineNo">2342</span>      request.setServerStartCode(this.startcode);<a name="line.2342"></a>
-<span class="sourceLineNo">2343</span>      request.setServerCurrentTime(now);<a name="line.2343"></a>
-<span class="sourceLineNo">2344</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2344"></a>
-<span class="sourceLineNo">2345</span>    } catch (ServiceException se) {<a name="line.2345"></a>
-<span class="sourceLineNo">2346</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2346"></a>
-<span class="sourceLineNo">2347</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2347"></a>
-<span class="sourceLineNo">2348</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2348"></a>
-<span class="sourceLineNo">2349</span>        // Re-throw IOE will cause RS to abort<a name="line.2349"></a>
-<span class="sourceLineNo">2350</span>        throw ioe;<a name="line.2350"></a>
-<span class="sourceLineNo">2351</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2351"></a>
-<span class="sourceLineNo">2352</span>        LOG.debug("Master is not running yet");<a name="line.2352"></a>
-<span class="sourceLineNo">2353</span>      } else {<a name="line.2353"></a>
-<span class="sourceLineNo">2354</span>        LOG.warn("error telling master we are up", se);<a name="line.2354"></a>
-<span class="sourceLineNo">2355</span>      }<a name="line.2355"></a>
-<span class="sourceLineNo">2356</span>      rssStub = null;<a name="line.2356"></a>
-<span class="sourceLineNo">2357</span>    }<a name="line.2357"></a>
-<span class="sourceLineNo">2358</span>    return result;<a name="line.2358"></a>
-<span class="sourceLineNo">2359</span>  }<a name="line.2359"></a>
-<span class="sourceLineNo">2360</span><a name="line.2360"></a>
-<span class="sourceLineNo">2361</span>  @Override<a name="line.2361"></a>
-<span class="sourceLineNo">2362</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2362"></a>
-<span class="sourceLineNo">2363</span>    try {<a name="line.2363"></a>
-<span class="sourceLineNo">2364</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2365"></a>
-<span class="sourceLineNo">2366</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2366"></a>
-<span class="sourceLineNo">2367</span>      if (rss == null) { // Try to connect one more time<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>        createRegionServerStatusStub();<a name="line.2368"></a>
-<span class="sourceLineNo">2369</span>        rss = rssStub;<a name="line.2369"></a>
-<span class="sourceLineNo">2370</span>        if (rss == null) {<a name="line.2370"></a>
-<span class="sourceLineNo">2371</span>          // Still no luck, we tried<a name="line.2371"></a>
-<span class="sourceLineNo">2372</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2372"></a>
-<span class="sourceLineNo">2373</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>              .build();<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span>        }<a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>      }<a name="line.2376"></a>
-<span class="sourceLineNo">2377</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>    } catch (ServiceException e) {<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>          .build();<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>    }<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span>  }<a name="line.2386"></a>
-<span class="sourceLineNo">2387</span><a name="line.2387"></a>
-<span class="sourceLineNo">2388</span>  /**<a name="line.2388"></a>
-<span class="sourceLineNo">2389</span>   * Closes all regions.  Called on our way out.<a name="line.2389"></a>
-<span class="sourceLineNo">2390</span>   * Assumes that

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
index d03724e..658fe8f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
@@ -292,7951 +292,7969 @@
 <span class="sourceLineNo">284</span><a name="line.284"></a>
 <span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter writeRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  // Number of requests blocked by memstore size.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  // Compaction counters<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>  private final WAL wal;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final HRegionFileSystem fs;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  protected final Configuration conf;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  private final Configuration baseConf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final int rowLockWaitDuration;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  // The internal wait duration to acquire a lock before read/update<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // we can release the IPC handler soon enough to improve the<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // availability of the region server. It can be adjusted by<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  final long busyWaitDuration;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>  // If updating multiple rows in one call, wait longer,<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // we can limit the max multiplier.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  final int maxBusyWaitMultiplier;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  final long maxBusyWaitDuration;<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  // negative number indicates infinite timeout<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * The sequence ID that was encountered when this region was opened.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * scan requests to this region. Requests can override it.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  //<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // are equal to or lower than maxSeqId for each store.<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // The following map is populated when opening the region<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>  /** Saved state from replaying prepare flush cache */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  /**<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   */<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private boolean disallowWritesInRecovering = false;<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  private volatile boolean recovering = false;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>  /**<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * region. Writes older than this readPoint, are included in every<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * read operation.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  public long getSmallestReadPoint() {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    long minimumReadPoint;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    synchronized(scannerReadPoints) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          minimumReadPoint = readPoint;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return minimumReadPoint;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  /*<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * Data structure of write state flags used coordinating flushes,<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * compactions and closes.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  static class WriteState {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // Set while a memstore flush is happening.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    volatile boolean flushing = false;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // Set when a flush has been requested.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    volatile boolean flushRequested = false;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // Number of compactions running.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    volatile boolean writesEnabled = true;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // Set if region is read-only<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    volatile boolean readOnly = false;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    volatile boolean readsEnabled = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>    /**<a name="line.405"></a>
-<span class="sourceLineNo">406</span>     * Set flags that make this region read-only.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     *<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     * @param onOff flip value for region r/o setting<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.writesEnabled = !onOff;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.readOnly = onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>    boolean isReadOnly() {<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return this.flushRequested;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      this.readsEnabled = readsEnabled;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  /**<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * if it didn't flush.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public static class FlushResultImpl implements FlushResult {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    final Result result;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final String failureReason;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final long flushSequenceId;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final boolean wroteFlushWalMarker;<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    /**<a name="line.443"></a>
-<span class="sourceLineNo">444</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * null.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     *                        memstores.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     */<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      this(result, flushSequenceId, null, false);<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>     * Convenience constructor to use when we cannot flush.<a name="line.457"></a>
-<span class="sourceLineNo">458</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>     * @param failureReason Reason why we couldn't flush.<a name="line.459"></a>
-<span class="sourceLineNo">460</span>     */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>    /**<a name="line.466"></a>
-<span class="sourceLineNo">467</span>     * Constructor with all the parameters.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @param result Any of the Result.<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>     */<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      boolean wroteFlushMarker) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      this.result = result;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      this.flushSequenceId = flushSequenceId;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      this.failureReason = failureReason;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      this.wroteFlushWalMarker = wroteFlushMarker;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>    /**<a name="line.480"></a>
-<span class="sourceLineNo">481</span>     * Convenience method, the equivalent of checking if result is<a name="line.481"></a>
-<span class="sourceLineNo">482</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>     * @return true if the memstores were flushed, else false.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>     */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public boolean isFlushSucceeded() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.487"></a>
-<span class="sourceLineNo">488</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>    /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<a name="line.493"></a>
-<span class="sourceLineNo">494</span>     */<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    @Override<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    public boolean isCompactionNeeded() {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    }<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    @Override<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    public String toString() {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      return new StringBuilder()<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        .append("flush result:").append(result).append(", ")<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        .append("flush seq id").append(flushSequenceId).toString();<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    @Override<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    public Result getResult() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      return result;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  }<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span>  /** A result object from prepare flush cache stage */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static class PrepareFlushResult {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    final FlushResult result; // indicating a failure result from prepare<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    final TreeMap&lt;byte[], Long&gt; storeFlushableSize;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    final long startTime;<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    final long flushOpSeqId;<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    final long flushedSeqId;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    final long totalFlushableSize;<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    /** Constructs an early exit case */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    PrepareFlushResult(FlushResult result, long flushSeqId) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, 0);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>    /** Constructs a successful prepare flush result */<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    PrepareFlushResult(<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        flushSeqId, flushedSeqId, totalFlushableSize);<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    }<a name="line.539"></a>
-<span class="sourceLineNo">540</span><a name="line.540"></a>
-<span class="sourceLineNo">541</span>    private PrepareFlushResult(<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      FlushResult result,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      this.result = result;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      this.committedFiles = committedFiles;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      this.startTime = startTime;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      this.flushOpSeqId = flushSeqId;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      this.flushedSeqId = flushedSeqId;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      this.totalFlushableSize = totalFlushableSize;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    }<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    public FlushResult getResult() {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      return this.result;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  final WriteState writestate = new WriteState();<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  long memstoreFlushSize;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  final long timestampSlop;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  final long rowProcessorTimeout;<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  private final ConcurrentMap&lt;Store, Long&gt; lastStoreFlushTimeMap =<a name="line.569"></a>
-<span class="sourceLineNo">570</span>      new ConcurrentHashMap&lt;Store, Long&gt;();<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>  final RegionServerServices rsServices;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private RegionServerAccounting rsAccounting;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  private long flushCheckInterval;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.575"></a>
-<span class="sourceLineNo">576</span>  private long flushPerChanges;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  private long blockingMemStoreSize;<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  final long threadWakeFrequency;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  // Used to guard closes<a name="line.579"></a>
-<span class="sourceLineNo">580</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span>  // Stop updates lock<a name="line.582"></a>
-<span class="sourceLineNo">583</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.583"></a>
-<span class="sourceLineNo">584</span>  private boolean splitRequest;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>  private byte[] explicitSplitPoint = null;<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  // Coprocessor host<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.590"></a>
-<span class="sourceLineNo">591</span><a name="line.591"></a>
-<span class="sourceLineNo">592</span>  private HTableDescriptor htableDescriptor = null;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>  private RegionSplitPolicy splitPolicy;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  private FlushPolicy flushPolicy;<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>  private final MetricsRegion metricsRegion;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>  private final Durability durability;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  private final boolean regionStatsEnabled;<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>  /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   *<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * usually the table directory.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * The wal file is a logfile from the previous execution that's<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * the supplied path.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param fs is the filesystem.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @param confParam is global configuration settings.<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @param regionInfo - HRegionInfo that describes the region<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * is new), then read them from the supplied path.<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param htd the table descriptor<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @deprecated Use other constructors.<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  @Deprecated<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  @VisibleForTesting<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      final Configuration confParam, final HRegionInfo regionInfo,<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.627"></a>
-<span class="sourceLineNo">628</span>      wal, confParam, htd, rsServices);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>  }<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>  /**<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   *<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * @param fs is the filesystem.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * The wal file is a logfile from the previous execution that's<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.640"></a>
-<span class="sourceLineNo">641</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   * the supplied path.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * @param confParam is global configuration settings.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @param htd the table descriptor<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    if (htd == null) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      throw new IllegalArgumentException("Need table descriptor");<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    }<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span>    if (confParam instanceof CompoundConfiguration) {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      throw new IllegalArgumentException("Need original base configuration");<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>    this.wal = wal;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    this.fs = fs;<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    this.baseConf = confParam;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.conf = new CompoundConfiguration()<a name="line.662"></a>
-<span class="sourceLineNo">663</span>      .add(confParam)<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      .addStringMap(htd.getConfiguration())<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      .addBytesMap(htd.getValues());<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.670"></a>
-<span class="sourceLineNo">671</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.673"></a>
-<span class="sourceLineNo">674</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.674"></a>
-<span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span>    this.maxWaitForSeqId = conf.getInt(MAX_WAIT_FOR_SEQ_ID_KEY, DEFAULT_MAX_WAIT_FOR_SEQ_ID);<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    this.htableDescriptor = htd;<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.rsServices = rsServices;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    this.threadWakeFrequency = conf.getLong(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    setHTableSpecificConf();<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;RegionScanner, Long&gt;();<a name="line.682"></a>
-<span class="sourceLineNo">683</span><a name="line.683"></a>
-<span class="sourceLineNo">684</span>    this.busyWaitDuration = conf.getLong(<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.688"></a>
-<span class="sourceLineNo">689</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.689"></a>
-<span class="sourceLineNo">690</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    }<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>    /*<a name="line.695"></a>
-<span class="sourceLineNo">696</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.698"></a>
-<span class="sourceLineNo">699</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.699"></a>
-<span class="sourceLineNo">700</span>     */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    this.timestampSlop = conf.getLong(<a name="line.701"></a>
-<span class="sourceLineNo">702</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        HConstants.LATEST_TIMESTAMP);<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>    /**<a name="line.705"></a>
-<span class="sourceLineNo">706</span>     * Timeout for the process time in processRowsWithLocks().<a name="line.706"></a>
-<span class="sourceLineNo">707</span>     * Use -1 to switch off time bound.<a name="line.707"></a>
-<span class="sourceLineNo">708</span>     */<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    this.durability = htd.getDurability() == Durability.USE_DEFAULT<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        ? DEFAULT_DURABILITY<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        : htd.getDurability();<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    if (rsServices != null) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>      Map&lt;String, Region&gt; recoveringRegions = rsServices.getRecoveringRegions();<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      String encodedName = getRegionInfo().getEncodedName();<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      if (recoveringRegions != null &amp;&amp; recoveringRegions.containsKey(encodedName)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        this.recovering = true;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        recoveringRegions.put(encodedName, this);<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      }<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    } else {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.metricsRegionWrapper = null;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      this.metricsRegion = null;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    if (LOG.isDebugEnabled()) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      // Write out region name as string and its encoded name.<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      LOG.debug("Instantiated " + this);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>    }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>    // by default, we allow writes against a region when it's in recovering<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    this.disallowWritesInRecovering =<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        conf.getBoolean(HConstants.DISALLOW_WRITES_IN_RECOVERING,<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          HConstants.DEFAULT_DISALLOW_WRITES_IN_RECOVERING_CONFIG);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    configurationManager = Optional.absent();<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.744"></a>
-<span class="sourceLineNo">745</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          false :<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.747"></a>
-<span class="sourceLineNo">748</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  }<a name="line.749"></a>
-<span class="sourceLineNo">750</span><a name="line.750"></a>
-<span class="sourceLineNo">751</span>  void setHTableSpecificConf() {<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    if (this.htableDescriptor == null) return;<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.753"></a>
-<span class="sourceLineNo">754</span><a name="line.754"></a>
-<span class="sourceLineNo">755</span>    if (flushSize &lt;= 0) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        HTableDescriptor.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    this.memstoreFlushSize = flushSize;<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.760"></a>
-<span class="sourceLineNo">761</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  }<a name="line.763"></a>
-<span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>  /**<a name="line.765"></a>
-<span class="sourceLineNo">766</span>   * Initialize this region.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * You should use createHRegion() or openHRegion()<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * @return What the next sequence (edit) id should be.<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * @throws IOException e<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   */<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  @Deprecated<a name="line.773"></a>
-<span class="sourceLineNo">774</span>  public long initialize() throws IOException {<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    return initialize(null);<a name="line.775"></a>
-<span class="sourceLineNo">776</span>  }<a name="line.776"></a>
-<span class="sourceLineNo">777</span><a name="line.777"></a>
-<span class="sourceLineNo">778</span>  /**<a name="line.778"></a>
-<span class="sourceLineNo">779</span>   * Initialize this region.<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   *<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * @return What the next sequence (edit) id should be.<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * @throws IOException e<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   */<a name="line.784"></a>
-<span class="sourceLineNo">785</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    long nextSeqId = -1;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    try {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.789"></a>
-<span class="sourceLineNo">790</span>      return nextSeqId;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    } finally {<a name="line.791"></a>
-<span class="sourceLineNo">792</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      // At least it will be 0 otherwise.<a name="line.793"></a>
-<span class="sourceLineNo">794</span>      if (nextSeqId == -1) {<a name="line.794"></a>
-<span class="sourceLineNo">795</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.795"></a>
-<span class="sourceLineNo">796</span>          " initialization.");<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      }<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span>  }<a name="line.799"></a>
-<span class="sourceLineNo">800</span><a name="line.800"></a>
-<span class="sourceLineNo">801</span>  private long initializeRegionInternals(final CancelableProgressable reporter,<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      final MonitoredTask status) throws IOException {<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    if (coprocessorHost != null) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      status.setStatus("Running coprocessor pre-open hook");<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      coprocessorHost.preOpen();<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    // Write HRI to a file in case we need to recover hbase:meta<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    status.setStatus("Writing region info on filesystem");<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    fs.checkRegionInfoOnFilesystem();<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    // Initialize all the HStores<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    status.setStatus("Initializing all the Stores");<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    long maxSeqId = initializeStores(reporter, status);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    this.mvcc.advanceTo(maxSeqId);<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    if (ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      // Recover any edits if available.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      maxSeqId = Math.max(maxSeqId,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>        replayRecoveredEditsIfAny(this.fs.getRegionDir(), maxSeqIdInStores, reporter, status));<a name="line.819"></a>
-<span class="sourceLineNo">820</span>      // Make sure mvcc is up to max.<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.mvcc.advanceTo(maxSeqId);<a name="line.821"></a>
-<span class="sourceLineNo">822</span>    }<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    this.lastReplayedOpenRegionSeqId = maxSeqId;<a name="line.823"></a>
-<span class="sourceLineNo">824</span><a name="line.824"></a>
-<span class="sourceLineNo">825</span>    this.writestate.setReadOnly(ServerRegionReplicaUtil.isReadOnly(this));<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    this.writestate.flushRequested = false;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    this.writestate.compacting.set(0);<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span>    if (this.writestate.writesEnabled) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      // Remove temporary data left over from old regions<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      status.setStatus("Cleaning up temporary data from old regions");<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      fs.cleanupTempDir();<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
-<span class="sourceLineNo">834</span><a name="line.834"></a>
-<span class="sourceLineNo">835</span>    if (this.writestate.writesEnabled) {<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      status.setStatus("Cleaning up detritus from prior splits");<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      // Get rid of any splits or merges that were lost in-progress.  Clean out<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      // these directories here on open.  We may be opening a region that was<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      // being split but we crashed in the middle of it all.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>      fs.cleanupAnySplitDetritus();<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      fs.cleanupMergesDir();<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Initialize split policy<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    this.splitPolicy = RegionSplitPolicy.create(this, conf);<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span>    // Initialize flush policy<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    this.flushPolicy = FlushPolicyFactory.create(this, conf);<a name="line.848"></a>
-<span class="sourceLineNo">849</span><a name="line.849"></a>
-<span class="sourceLineNo">850</span>    long lastFlushTime = EnvironmentEdgeManager.currentTime();<a name="line.850"></a>
-<span class="sourceLineNo">851</span>    for (Store store: stores.values()) {<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      this.lastStoreFlushTimeMap.put(store, lastFlushTime);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>    // Use maximum of log sequenceid or that which was found in stores<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    // (particularly if no recovered edits, seqid will be -1).<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    long nextSeqid = maxSeqId;<a name="line.857"></a>
-<span class="sourceLineNo">858</span><a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // In distributedLogReplay mode, we don't know the last change sequence number because region<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // is opened before recovery completes. So we add a safety bumper to avoid new sequence number<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    // overlaps used sequence numbers<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (this.writestate.writesEnabled) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      nextSeqid = WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs<a name="line.863"></a>
-<span class="sourceLineNo">864</span>          .getRegionDir(), nextSeqid, (this.recovering ? (this.flushPerChanges + 10000000) : 1));<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    } else {<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      nextSeqid++;<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>    LOG.info("Onlined " + this.getRegionInfo().getShortNameToLog() +<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      "; next sequenceid=" + nextSeqid);<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    // A region can be reopened if failed a split; reset flags<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    this.closing.set(false);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    this.closed.set(false);<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    if (coprocessorHost != null) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      status.setStatus("Running coprocessor post-open hooks");<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      coprocessorHost.postOpen();<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span>    status.markComplete("Region opened successfully");<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    return nextSeqid;<a name="line.882"></a>
-<span class="sourceLineNo">883</span>  }<a name="line.883"></a>
-<span class="sourceLineNo">884</span><a name="line.884"></a>
-<span class="sourceLineNo">885</span>  /**<a name="line.885"></a>
-<span class="sourceLineNo">886</span>   * Open all Stores.<a name="line.886"></a>
-<span class="sourceLineNo">887</span>   * @param reporter<a name="line.887"></a>
-<span class="sourceLineNo">888</span>   * @param status<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * @return Highest sequenceId found out in a Store.<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * @throws IOException<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   */<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  private long initializeStores(final CancelableProgressable reporter, MonitoredTask status)<a name="line.892"></a>
-<span class="sourceLineNo">893</span>  throws IOException {<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    // Load in all the HStores.<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    long maxSeqId = -1;<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    // initialized to -1 so that we pick up MemstoreTS from column families<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    long maxMemstoreTS = -1;<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    if (!htableDescriptor.getFamilies().isEmpty()) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      // initialize the thread pool for opening stores in parallel.<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      ThreadPoolExecutor storeOpenerThreadPool =<a name="line.902"></a>
-<span class="sourceLineNo">903</span>        getStoreOpenAndCloseThreadPool("StoreOpener-" + this.getRegionInfo().getShortNameToLog());<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      CompletionService&lt;HStore&gt; completionService =<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        new ExecutorCompletionService&lt;HStore&gt;(storeOpenerThreadPool);<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span>      // initialize each store in parallel<a name="line.907"></a>
-<span class="sourceLineNo">908</span>      for (final HColumnDescriptor family : htableDescriptor.getFamilies()) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        status.setStatus("Instantiating store for column family " + family);<a name="line.909"></a>
-<span class="sourceLineNo">910</span>        completionService.submit(new Callable&lt;HStore&gt;() {<a name="line.910"></a>
-<span class="sourceLineNo">911</span>          @Override<a name="line.911"></a>
-<span class="sourceLineNo">912</span>          public HStore call() throws IOException {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>            return instantiateHStore(family);<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>      boolean allStoresOpened = false;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>      try {<a name="line.918"></a>
-<span class="sourceLineNo">919</span>        for (int i = 0; i &lt; htableDescriptor.getFamilies().size(); i++) {<a name="line.919"></a>
-<span class="sourceLineNo">920</span>          Future&lt;HStore&gt; future = completionService.take();<a name="line.920"></a>
-<span class="sourceLineNo">921</span>          HStore store = future.get();<a name="line.921"></a>
-<span class="sourceLineNo">922</span>          this.stores.put(store.getFamily().getName(), store);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>          long storeMaxSequenceId = store.getMaxSequenceId();<a name="line.924"></a>
-<span class="sourceLineNo">925</span>          maxSeqIdInStores.put(store.getColumnFamilyName().getBytes(),<a name="line.925"></a>
-<span class="sourceLineNo">926</span>              storeMaxSequenceId);<a name="line.926"></a>
-<span class="sourceLineNo">927</span>          if (maxSeqId == -1 || storeMaxSequenceId &gt; maxSeqId) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>            maxSeqId = storeMaxSequenceId;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>          }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>          long maxStoreMemstoreTS = store.getMaxMemstoreTS();<a name="line.930"></a>
-<span class="sourceLineNo">931</span>          if (maxStoreMemstoreTS &gt; maxMemstoreTS) {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>            maxMemstoreTS = maxStoreMemstoreTS;<a name="line.932"></a>
-<span class="sourceLineNo">933</span>          }<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        }<a name="line.934"></a>
-<span class="sourceLineNo">935</span>        allStoresOpened = true;<a name="line.935"></a>
-<span class="sourceLineNo">936</span>      } catch (InterruptedException e) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>        throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>      } catch (ExecutionException e) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span>        throw new IOException(e.getCause());<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      } finally {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        storeOpenerThreadPool.shutdownNow();<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        if (!allStoresOpened) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>          // something went wrong, close all opened stores<a name="line.943"></a>
-<span class="sourceLineNo">944</span>          LOG.error("Could not initialize all stores for the region=" + this);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>          for (Store store : this.stores.values()) {<a name="line.945"></a>
-<span class="sourceLineNo">946</span>            try {<a name="line.946"></a>
-<span class="sourceLineNo">947</span>              store.close();<a name="line.947"></a>
-<span class="sourceLineNo">948</span>            } catch (IOException e) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>              LOG.warn(e.getMessage());<a name="line.949"></a>
-<span class="sourceLineNo">950</span>            }<a name="line.950"></a>
-<span class="sourceLineNo">951</span>          }<a name="line.951"></a>
-<span class="sourceLineNo">952</span>        }<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      }<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    return Math.max(maxSeqId, maxMemstoreTS + 1);<a name="line.955"></a>
-<span class="sourceLineNo">956</span>  }<a name="line.956"></a>
-<span class="sourceLineNo">957</span><a name="line.957"></a>
-<span class="sourceLineNo">958</span>  private void initializeWarmup(final CancelableProgressable reporter) throws IOException {<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.959"></a>
-<span class="sourceLineNo">960</span><a name="line.960"></a>
-<span class="sourceLineNo">961</span>    // Initialize all the HStores<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    status.setStatus("Warming up all the Stores");<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    initializeStores(reporter, status);<a name="line.963"></a>
-<span class="sourceLineNo">964</span>  }<a name="line.964"></a>
-<span class="sourceLineNo">965</span><a name="line.965"></a>
-<span class="sourceLineNo">966</span>  /**<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   * @return Map of StoreFiles by column family<a name="line.967"></a>
-<span class="sourceLineNo">968</span>   */<a name="line.968"></a>
-<span class="sourceLineNo">969</span>  private NavigableMap&lt;byte[], List&lt;Path&gt;&gt; getStoreFiles() {<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    NavigableMap&lt;byte[], List&lt;Path&gt;&gt; allStoreFiles =<a name="line.970"></a>
-<span class="sourceLineNo">971</span>      new TreeMap&lt;byte[], List&lt;Path&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    for (Store store: getStores()) {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.973"></a>
-<span class="sourceLineNo">974</span>      if (storeFiles == null) continue;<a name="line.974"></a>
-<span class="sourceLineNo">975</span>      List&lt;Path&gt; storeFileNames = new ArrayList&lt;Path&gt;();<a name="line.975"></a>
-<span class="sourceLineNo">976</span>      for (StoreFile storeFile: storeFiles) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>        storeFileNames.add(storeFile.getPath());<a name="line.977"></a>
-<span class="sourceLineNo">978</span>      }<a name="line.978"></a>
-<span class="sourceLineNo">979</span>      allStoreFiles.put(store.getFamily().getName(), storeFileNames);<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    }<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    return allStoreFiles;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>  }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>  private void writeRegionOpenMarker(WAL wal, long openSeqId) throws IOException {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    RegionEventDescriptor regionOpenDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      RegionEventDescriptor.EventType.REGION_OPEN, getRegionInfo(), openSeqId,<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.988"></a>
-<span class="sourceLineNo">989</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionOpenDesc, mvcc);<a name="line.989"></a>
-<span class="sourceLineNo">990</span>  }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>  private void writeRegionCloseMarker(WAL wal) throws IOException {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    RegionEventDescriptor regionEventDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.994"></a>
-<span class="sourceLineNo">995</span>      RegionEventDescriptor.EventType.REGION_CLOSE, getRegionInfo(), mvcc.getReadPoint(),<a name="line.995"></a>
-<span class="sourceLineNo">996</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionEventDesc, mvcc);<a name="line.997"></a>
-<span class="sourceLineNo">998</span><a name="line.998"></a>
-<span class="sourceLineNo">999</span>    // Store SeqId in HDFS when a region closes<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    // checking region folder exists is due to many tests which delete the table folder while a<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    // table is still online<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    if (this.fs.getFileSystem().exists(this.fs.getRegionDir())) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>      WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs.getRegionDir(),<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>        mvcc.getReadPoint(), 0);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>    }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>  }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>  /**<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>   * @return True if this region has references.<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>   */<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>  public boolean hasReferences() {<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    for (Store store : this.stores.values()) {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      if (store.hasReferences()) return true;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>    return false;<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>  }<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span><a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  @Override<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  public HDFSBlocksDistribution getHDFSBlocksDistribution() {<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      new HDFSBlocksDistribution();<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    synchronized (this.stores) {<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>      for (Store store : this.stores.values()) {<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>        Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>        if (storeFiles == null) continue;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>        for (StoreFile sf : storeFiles) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>          HDFSBlocksDistribution storeFileBlocksDistribution =<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>            sf.getHDFSBlockDistribution();<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>          hdfsBlocksDistribution.add(storeFileBlocksDistribution);<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>    }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>    return hdfsBlocksDistribution;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>  /**<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>   * @param conf configuration<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>   * @param regionInfo encoded name of the region<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   * @throws IOException<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   */<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo) throws IOException {<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    Path tablePath = FSUtils.getTableDir(FSUtils.getRootDir(conf), tableDescriptor.getTableName());<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>    return computeHDFSBlocksDistribution(conf, tableDescriptor, regionInfo, tablePath);<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  }<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span><a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  /**<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>   * @param conf configuration<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * @param regionInfo encoded name of the region<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * @param tablePath the table directory<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>   * @throws IOException<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>   */<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo,  Path tablePath)<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>      throws IOException {<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    HDFSBlocksDistribution hdfsBlocksDistribution = new HDFSBlocksDistribution();<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>    FileSystem fs = tablePath.getFileSystem(conf);<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span><a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    HRegionFileSystem regionFs = new HRegionFileSystem(conf, fs, tablePath, regionInfo);<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    for (HColumnDescriptor family: tableDescriptor.getFamilies()) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      Collection&lt;StoreFileInfo&gt; storeFiles = regionFs.getStoreFiles(family.getNameAsString());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>      if (storeFiles == null) continue;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>      for (StoreFileInfo storeFileInfo : storeFiles) {<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>        try {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>          hdfsBlocksDistribution.add(storeFileInfo.computeHDFSBlocksDistribution(fs));<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        } catch (IOException ioe) {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>          LOG.warn("Error getting hdfs block distribution for " + storeFileInfo);<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>        }<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    return hdfsBlocksDistribution;<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>  /**<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>   * Increase the size of mem store in this region and the size of global mem<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>   * store<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>   * @return the size of memstore in this region<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   */<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>  public long addAndGetGlobalMemstoreSize(long memStoreSize) {<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    if (this.rsAccounting != null) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>      rsAccounting.addAndGetGlobalMemstoreSize(memStoreSize);<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>    }<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    return this.memstoreSize.addAndGet(memStoreSize);<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  }<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span><a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>  @Override<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>  public HRegionInfo getRegionInfo() {<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>    return this.fs.getRegionInfo();<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  }<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>   * @return Instance of {@link RegionServerServices} used by this HRegion.<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * Can be null.<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   */<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>  RegionServerServices getRegionServerServices() {<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    return this.rsServices;<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  }<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span><a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  @Override<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>  public long getReadRequestsCount() {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    return readRequestsCount.get();<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>  }<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span><a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>  @Override<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  public void updateReadRequestsCount(long i) {<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>    readRequestsCount.add(i);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  }<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  @Override<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  public long getWriteRequestsCount() {<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    return writeRequestsCount.get();<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>  @Override<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public void updateWriteRequestsCount(long i) {<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    writeRequestsCount.add(i);<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  }<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span><a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  @Override<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  public long getMemstoreSize() {<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>    return memstoreSize.get();<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  }<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span><a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>  @Override<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  public long getNumMutationsWithoutWAL() {<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>    return numMutationsWithoutWAL.get();<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>  }<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  @Override<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public long getDataInMemoryWithoutWAL() {<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    return dataInMemoryWithoutWAL.get();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span><a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>  @Override<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  public long getBlockedRequestsCount() {<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>    return blockedRequestsCount.get();<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>  }<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span><a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  @Override<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  public long getCheckAndMutateChecksPassed() {<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    return checkAndMutateChecksPassed.get();<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>  @Override<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>  public long getCheckAndMutateChecksFailed() {<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    return checkAndMutateChecksFailed.get();<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>  }<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span><a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  @Override<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>  public MetricsRegion getMetrics() {<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    return metricsRegion;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>  }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span><a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>  @Override<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public boolean isClosed() {<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>    return this.closed.get();<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  }<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span><a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  @Override<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  public boolean isClosing() {<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>    return this.closing.get();<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  }<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>  @Override<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>  public boolean isReadOnly() {<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>    return this.writestate.isReadOnly();<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>  }<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span><a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>  /**<a name="line.1175"></a>

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
index b371251..ed1e8f9 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1543">HRegionServer.CompactionChecker</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1544">HRegionServer.CompactionChecker</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a></pre>
 </li>
 </ul>
@@ -219,7 +219,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>instance</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1544">instance</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1545">instance</a></pre>
 </li>
 </ul>
 <a name="majorCompactPriority">
@@ -228,7 +228,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>majorCompactPriority</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1545">majorCompactPriority</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1546">majorCompactPriority</a></pre>
 </li>
 </ul>
 <a name="DEFAULT_PRIORITY">
@@ -237,7 +237,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_PRIORITY</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1546">DEFAULT_PRIORITY</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1547">DEFAULT_PRIORITY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.CompactionChecker.DEFAULT_PRIORITY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -247,7 +247,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>iteration</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1547">iteration</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1548">iteration</a></pre>
 </li>
 </ul>
 </li>
@@ -264,7 +264,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegionServer.CompactionChecker</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1549">HRegionServer.CompactionChecker</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;h,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1550">HRegionServer.CompactionChecker</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;h,
                                int&nbsp;sleepTime,
                                <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a>&nbsp;stopper)</pre>
 </li>
@@ -283,7 +283,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>chore</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1564">chore</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html#line.1565">chore</a>()</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html#chore()">ScheduledChore</a></code></strong></div>
 <div class="block">The task to execute on each scheduled execution of the Chore</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
index 2dce300..78592dc 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3057">HRegionServer.MovedRegionInfo</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3058">HRegionServer.MovedRegionInfo</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -204,7 +204,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>serverName</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3058">serverName</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3059">serverName</a></pre>
 </li>
 </ul>
 <a name="seqNum">
@@ -213,7 +213,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>seqNum</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3059">seqNum</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3060">seqNum</a></pre>
 </li>
 </ul>
 <a name="ts">
@@ -222,7 +222,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ts</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3060">ts</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3061">ts</a></pre>
 </li>
 </ul>
 </li>
@@ -239,7 +239,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegionServer.MovedRegionInfo</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3062">HRegionServer.MovedRegionInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3063">HRegionServer.MovedRegionInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                              long&nbsp;closeSeqNum)</pre>
 </li>
 </ul>
@@ -257,7 +257,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerName</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3068">getServerName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3069">getServerName</a>()</pre>
 </li>
 </ul>
 <a name="getSeqNum()">
@@ -266,7 +266,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getSeqNum</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3072">getSeqNum</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3073">getSeqNum</a>()</pre>
 </li>
 </ul>
 <a name="getMoveTime()">
@@ -275,7 +275,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getMoveTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3076">getMoveTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3077">getMoveTime</a>()</pre>
 </li>
 </ul>
 </li>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
index 5ee4a63..79d830e 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1597">HRegionServer.PeriodicMemstoreFlusher</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1598">HRegionServer.PeriodicMemstoreFlusher</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a></pre>
 </li>
 </ul>
@@ -214,7 +214,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>server</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1598">server</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1599">server</a></pre>
 </li>
 </ul>
 <a name="RANGE_OF_DELAY">
@@ -223,7 +223,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>RANGE_OF_DELAY</h4>
-<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1599">RANGE_OF_DELAY</a></pre>
+<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1600">RANGE_OF_DELAY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.PeriodicMemstoreFlusher.RANGE_OF_DELAY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -233,7 +233,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MIN_DELAY_TIME</h4>
-<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1600">MIN_DELAY_TIME</a></pre>
+<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1601">MIN_DELAY_TIME</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.PeriodicMemstoreFlusher.MIN_DELAY_TIME">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -251,7 +251,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegionServer.PeriodicMemstoreFlusher</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1601">HRegionServer.PeriodicMemstoreFlusher</a>(int&nbsp;cacheFlushInterval,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1602">HRegionServer.PeriodicMemstoreFlusher</a>(int&nbsp;cacheFlushInterval,
                                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;server)</pre>
 </li>
 </ul>
@@ -269,7 +269,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>chore</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1607">chore</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html#line.1608">chore</a>()</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html#chore()">ScheduledChore</a></code></strong></div>
 <div class="block">The task to execute on each scheduled execution of the Chore</div>
 <dl>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
index 4078580..b9f3a92 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
@@ -1526,1902 +1526,1903 @@
 <span class="sourceLineNo">1518</span>      .setTotalStaticIndexSizeKB(totalStaticIndexSizeKB)<a name="line.1518"></a>
 <span class="sourceLineNo">1519</span>      .setTotalStaticBloomSizeKB(totalStaticBloomSizeKB)<a name="line.1519"></a>
 <span class="sourceLineNo">1520</span>      .setReadRequestsCount(r.getReadRequestsCount())<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>      .setWriteRequestsCount(r.getWriteRequestsCount())<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>      .setTotalCompactingKVs(totalCompactingKVs)<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>      .setCurrentCompactedKVs(currentCompactedKVs)<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span>      .setDataLocality(dataLocality)<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>      .setLastMajorCompactionTs(r.getOldestHfileTs(true));<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span>    ((HRegion)r).setCompleteSequenceId(regionLoadBldr);<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span><a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>    return regionLoadBldr.build();<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>  }<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span><a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>  /**<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>   * @param encodedRegionName<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>   * @return An instance of RegionLoad.<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>   */<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>  public RegionLoad createRegionLoad(final String encodedRegionName) throws IOException {<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>    Region r = onlineRegions.get(encodedRegionName);<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span>    return r != null ? createRegionLoad(r, null, null) : null;<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>  /*<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>   * Inner class that runs on a long period checking if regions need compaction.<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span>   */<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>  private static class CompactionChecker extends ScheduledChore {<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>    private final HRegionServer instance;<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span>    private final int majorCompactPriority;<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>    private final static int DEFAULT_PRIORITY = Integer.MAX_VALUE;<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>    private long iteration = 0;<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span><a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>    CompactionChecker(final HRegionServer h, final int sleepTime,<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span>        final Stoppable stopper) {<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>      super("CompactionChecker", stopper, sleepTime);<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>      this.instance = h;<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span>      LOG.info(this.getName() + " runs every " + StringUtils.formatTime(sleepTime));<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span><a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>      /* MajorCompactPriority is configurable.<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>       * If not set, the compaction will use default priority.<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>       */<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>      this.majorCompactPriority = this.instance.conf.<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span>        getInt("hbase.regionserver.compactionChecker.majorCompactPriority",<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>        DEFAULT_PRIORITY);<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>    }<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span><a name="line.1562"></a>
-<span class="sourceLineNo">1563</span>    @Override<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>    protected void chore() {<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>      for (Region r : this.instance.onlineRegions.values()) {<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>        if (r == null)<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>          continue;<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>        for (Store s : r.getStores()) {<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span>          try {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>            long multiplier = s.getCompactionCheckMultiplier();<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span>            assert multiplier &gt; 0;<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>            if (iteration % multiplier != 0) continue;<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>            if (s.needsCompaction()) {<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>              // Queue a compaction. Will recognize if major is needed.<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>              this.instance.compactSplitThread.requestSystemCompaction(r, s, getName()<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span>                  + " requests compaction");<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>            } else if (s.isMajorCompaction()) {<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>              if (majorCompactPriority == DEFAULT_PRIORITY<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>                  || majorCompactPriority &gt; ((HRegion)r).getCompactPriority()) {<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>                this.instance.compactSplitThread.requestCompaction(r, s, getName()<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>                    + " requests major compaction; use default priority", null);<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>              } else {<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>                this.instance.compactSplitThread.requestCompaction(r, s, getName()<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>                    + " requests major compaction; use configured priority",<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>                  this.majorCompactPriority, null, null);<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>              }<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>            }<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>          } catch (IOException e) {<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span>            LOG.warn("Failed major compaction check on " + r, e);<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>          }<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>        }<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>      }<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>      iteration = (iteration == Long.MAX_VALUE) ? 0 : (iteration + 1);<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>    }<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>  }<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span><a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>  static class PeriodicMemstoreFlusher extends ScheduledChore {<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>    final HRegionServer server;<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>    final static int RANGE_OF_DELAY = 5 * 60 * 1000; // 5 min in milliseconds<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>    final static int MIN_DELAY_TIME = 0; // millisec<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>    public PeriodicMemstoreFlusher(int cacheFlushInterval, final HRegionServer server) {<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>      super(server.getServerName() + "-MemstoreFlusherChore", server, cacheFlushInterval);<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>      this.server = server;<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>    }<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span><a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>    @Override<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>    protected void chore() {<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>      final StringBuffer whyFlush = new StringBuffer();<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>      for (Region r : this.server.onlineRegions.values()) {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>        if (r == null) continue;<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>        if (((HRegion)r).shouldFlush(whyFlush)) {<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>          FlushRequester requester = server.getFlushRequester();<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>          if (requester != null) {<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>            long randomDelay = RandomUtils.nextInt(RANGE_OF_DELAY) + MIN_DELAY_TIME;<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span>            LOG.info(getName() + " requesting flush of " +<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>              r.getRegionInfo().getRegionNameAsString() + " because " +<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>              whyFlush.toString() +<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>              " after random delay " + randomDelay + "ms");<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>            //Throttle the flushes by putting a delay. If we don't throttle, and there<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>            //is a balanced write-load on the regions in a table, we might end up<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>            //overwhelming the filesystem with too many flushes at once.<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>            requester.requestDelayedFlush(r, randomDelay, false);<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>          }<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>        }<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>      }<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><a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>  /**<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>   * Report the status of the server. A server is online once all the startup is<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>   * completed (setting up filesystem, starting service threads, etc.). This<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>   * method is designed mostly to be useful in tests.<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>   *<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>   * @return true if online, false if not.<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>   */<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>  public boolean isOnline() {<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>    return online.get();<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>  }<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span><a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>  /**<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>   * Setup WAL log and replication if enabled.<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>   * Replication setup is done in here because it wants to be hooked up to WAL.<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>   * @return A WAL instance.<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>   * @throws IOException<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>   */<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>  private WALFactory setupWALAndReplication() throws IOException {<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>    // TODO Replication make assumptions here based on the default filesystem impl<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>    final Path oldLogDir = new Path(rootDir, HConstants.HREGION_OLDLOGDIR_NAME);<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>    final String logName = DefaultWALProvider.getWALDirectoryName(this.serverName.toString());<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span><a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>    Path logdir = new Path(rootDir, logName);<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>    if (LOG.isDebugEnabled()) LOG.debug("logdir=" + logdir);<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>    if (this.fs.exists(logdir)) {<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>      throw new RegionServerRunningException("Region server has already " +<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>        "created directory at " + this.serverName.toString());<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>    }<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span><a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>    // Instantiate replication manager if replication enabled.  Pass it the<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>    // log directories.<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>    createNewReplicationInstance(conf, this, this.fs, logdir, oldLogDir);<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span><a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>    // listeners the wal factory will add to wals it creates.<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>    final List&lt;WALActionsListener&gt; listeners = new ArrayList&lt;WALActionsListener&gt;();<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>    listeners.add(new MetricsWAL());<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>    if (this.replicationSourceHandler != null &amp;&amp;<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>        this.replicationSourceHandler.getWALActionsListener() != null) {<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>      // Replication handler is an implementation of WALActionsListener.<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>      listeners.add(this.replicationSourceHandler.getWALActionsListener());<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>    }<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span><a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>    return new WALFactory(conf, listeners, serverName.toString());<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>  }<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span><a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>  /**<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>   * We initialize the roller for the wal that handles meta lazily<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>   * since we don't know if this regionserver will handle it. All calls to<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>   * this method return a reference to the that same roller. As newly referenced<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>   * meta regions are brought online, they will be offered to the roller for maintenance.<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>   * As a part of that registration process, the roller will add itself as a<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>   * listener on the wal.<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>   */<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>  protected LogRoller ensureMetaWALRoller() {<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>    // Using a tmp log roller to ensure metaLogRoller is alive once it is not<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>    // null<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>    LogRoller roller = metawalRoller.get();<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>    if (null == roller) {<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>      LogRoller tmpLogRoller = new LogRoller(this, this);<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>      String n = Thread.currentThread().getName();<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>      Threads.setDaemonThreadRunning(tmpLogRoller.getThread(),<a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>          n + "-MetaLogRoller", uncaughtExceptionHandler);<a name="line.1690"></a>
-<span class="sourceLineNo">1691</span>      if (metawalRoller.compareAndSet(null, tmpLogRoller)) {<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span>        roller = tmpLogRoller;<a name="line.1692"></a>
-<span class="sourceLineNo">1693</span>      } else {<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span>        // Another thread won starting the roller<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>        Threads.shutdown(tmpLogRoller.getThread());<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span>        roller = metawalRoller.get();<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>      }<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>    }<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span>    return roller;<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>  }<a name="line.1700"></a>
-<span class="sourceLineNo">1701</span><a name="line.1701"></a>
-<span class="sourceLineNo">1702</span>  public MetricsRegionServer getRegionServerMetrics() {<a name="line.1702"></a>
-<span class="sourceLineNo">1703</span>    return this.metricsRegionServer;<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span>  }<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span><a name="line.1705"></a>
-<span class="sourceLineNo">1706</span>  /**<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span>   * @return Master address tracker instance.<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span>   */<a name="line.1708"></a>
-<span class="sourceLineNo">1709</span>  public MasterAddressTracker getMasterAddressTracker() {<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>    return this.masterAddressTracker;<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span>  }<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span><a name="line.1712"></a>
-<span class="sourceLineNo">1713</span>  /*<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span>   * Start maintenance Threads, Server, Worker and lease checker threads.<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>   * Install an UncaughtExceptionHandler that calls abort of RegionServer if we<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span>   * get an unhandled exception. We cannot set the handler on all threads.<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span>   * Server's internal Listener thread is off limits. For Server, if an OOME, it<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span>   * waits a while then retries. Meantime, a flush or a compaction that tries to<a name="line.1718"></a>
-<span class="sourceLineNo">1719</span>   * run should trigger same critical condition and the shutdown will run. On<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>   * its way out, this server will shut down Server. Leases are sort of<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span>   * inbetween. It has an internal thread that while it inherits from Chore, it<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span>   * keeps its own internal stop mechanism so needs to be stopped by this<a name="line.1722"></a>
-<span class="sourceLineNo">1723</span>   * hosting server. Worker logs the exception and exits.<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span>   */<a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>  private void startServiceThreads() throws IOException {<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span>    // Start executor services<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span>    this.service.startExecutorService(ExecutorType.RS_OPEN_REGION,<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span>      conf.getInt("hbase.regionserver.executor.openregion.threads", 3));<a name="line.1728"></a>
-<span class="sourceLineNo">1729</span>    this.service.startExecutorService(ExecutorType.RS_OPEN_META,<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>      conf.getInt("hbase.regionserver.executor.openmeta.threads", 1));<a name="line.1730"></a>
-<span class="sourceLineNo">1731</span>    this.service.startExecutorService(ExecutorType.RS_CLOSE_REGION,<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span>      conf.getInt("hbase.regionserver.executor.closeregion.threads", 3));<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span>    this.service.startExecutorService(ExecutorType.RS_CLOSE_META,<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span>      conf.getInt("hbase.regionserver.executor.closemeta.threads", 1));<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>    if (conf.getBoolean(StoreScanner.STORESCANNER_PARALLEL_SEEK_ENABLE, false)) {<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span>      this.service.startExecutorService(ExecutorType.RS_PARALLEL_SEEK,<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span>        conf.getInt("hbase.storescanner.parallel.seek.threads", 10));<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span>    }<a name="line.1738"></a>
-<span class="sourceLineNo">1739</span>    this.service.startExecutorService(ExecutorType.RS_LOG_REPLAY_OPS, conf.getInt(<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>       "hbase.regionserver.wal.max.splitters", SplitLogWorkerCoordination.DEFAULT_MAX_SPLITTERS));<a name="line.1740"></a>
-<span class="sourceLineNo">1741</span>    // Start the threads for compacted files discharger<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span>    this.service.startExecutorService(ExecutorType.RS_COMPACTED_FILES_DISCHARGER,<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span>      conf.getInt(CompactionConfiguration.HBASE_HFILE_COMPACTION_DISCHARGER_THREAD_COUNT, 10));<a name="line.1743"></a>
-<span class="sourceLineNo">1744</span>    if (ServerRegionReplicaUtil.isRegionReplicaWaitForPrimaryFlushEnabled(conf)) {<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span>      this.service.startExecutorService(ExecutorType.RS_REGION_REPLICA_FLUSH_OPS,<a name="line.1745"></a>
-<span class="sourceLineNo">1746</span>        conf.getInt("hbase.regionserver.region.replica.flusher.threads",<a name="line.1746"></a>
-<span class="sourceLineNo">1747</span>          conf.getInt("hbase.regionserver.executor.openregion.threads", 3)));<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span>    }<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span><a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>    Threads.setDaemonThreadRunning(this.walRoller.getThread(), getName() + ".logRoller",<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span>        uncaughtExceptionHandler);<a name="line.1751"></a>
-<span class="sourceLineNo">1752</span>    this.cacheFlusher.start(uncaughtExceptionHandler);<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span><a name="line.1753"></a>
-<span class="sourceLineNo">1754</span>    if (this.compactionChecker != null) choreService.scheduleChore(compactionChecker);<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>    if (this.periodicFlusher != null) choreService.scheduleChore(periodicFlusher);<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span>    if (this.healthCheckChore != null) choreService.scheduleChore(healthCheckChore);<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span>    if (this.nonceManagerChore != null) choreService.scheduleChore(nonceManagerChore);<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span>    if (this.storefileRefresher != null) choreService.scheduleChore(storefileRefresher);<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span>    if (this.movedRegionsCleaner != null) choreService.scheduleChore(movedRegionsCleaner);<a name="line.1759"></a>
-<span class="sourceLineNo">1760</span><a name="line.1760"></a>
-<span class="sourceLineNo">1761</span>    // Leases is not a Thread. Internally it runs a daemon thread. If it gets<a name="line.1761"></a>
-<span class="sourceLineNo">1762</span>    // an unhandled exception, it will just exit.<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span>    Threads.setDaemonThreadRunning(this.leases.getThread(), getName() + ".leaseChecker",<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span>      uncaughtExceptionHandler);<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span><a name="line.1765"></a>
-<span class="sourceLineNo">1766</span>    if (this.replicationSourceHandler == this.replicationSinkHandler &amp;&amp;<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span>        this.replicationSourceHandler != null) {<a name="line.1767"></a>
-<span class="sourceLineNo">1768</span>      this.replicationSourceHandler.startReplicationService();<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span>    } else {<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span>      if (this.replicationSourceHandler != null) {<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span>        this.replicationSourceHandler.startReplicationService();<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span>      }<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span>      if (this.replicationSinkHandler != null) {<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span>        this.replicationSinkHandler.startReplicationService();<a name="line.1774"></a>
-<span class="sourceLineNo">1775</span>      }<a name="line.1775"></a>
-<span class="sourceLineNo">1776</span>    }<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span><a name="line.1777"></a>
-<span class="sourceLineNo">1778</span>    // Create the log splitting worker and start it<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span>    // set a smaller retries to fast fail otherwise splitlogworker could be blocked for<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span>    // quite a while inside HConnection layer. The worker won't be available for other<a name="line.1780"></a>
-<span class="sourceLineNo">1781</span>    // tasks even after current task is preempted after a split task times out.<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span>    Configuration sinkConf = HBaseConfiguration.create(conf);<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span>    sinkConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.1783"></a>
-<span class="sourceLineNo">1784</span>      conf.getInt("hbase.log.replay.retries.number", 8)); // 8 retries take about 23 seconds<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span>    sinkConf.setInt(HConstants.HBASE_RPC_TIMEOUT_KEY,<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span>      conf.getInt("hbase.log.replay.rpc.timeout", 30000)); // default 30 seconds<a name="line.1786"></a>
-<span class="sourceLineNo">1787</span>    sinkConf.setInt("hbase.client.serverside.retries.multiplier", 1);<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span>    this.splitLogWorker = new SplitLogWorker(this, sinkConf, this, this, walFactory);<a name="line.1788"></a>
-<span class="sourceLineNo">1789</span>    splitLogWorker.start();<a name="line.1789"></a>
-<span class="sourceLineNo">1790</span>  }<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span><a name="line.1791"></a>
-<span class="sourceLineNo">1792</span>  /**<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span>   * Puts up the webui.<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span>   * @return Returns final port -- maybe different from what we started with.<a name="line.1794"></a>
-<span class="sourceLineNo">1795</span>   * @throws IOException<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span>   */<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span>  private int putUpWebUI() throws IOException {<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span>    int port = this.conf.getInt(HConstants.REGIONSERVER_INFO_PORT,<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span>      HConstants.DEFAULT_REGIONSERVER_INFOPORT);<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span>    String addr = this.conf.get("hbase.regionserver.info.bindAddress", "0.0.0.0");<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span><a name="line.1801"></a>
-<span class="sourceLineNo">1802</span>    if(this instanceof HMaster) {<a name="line.1802"></a>
-<span class="sourceLineNo">1803</span>      port = conf.getInt(HConstants.MASTER_INFO_PORT,<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span>          HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.1804"></a>
-<span class="sourceLineNo">1805</span>      addr = this.conf.get("hbase.master.info.bindAddress", "0.0.0.0");<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span>    }<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span>    // -1 is for disabling info server<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span>    if (port &lt; 0) return port;<a name="line.1808"></a>
-<span class="sourceLineNo">1809</span><a name="line.1809"></a>
-<span class="sourceLineNo">1810</span>    if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {<a name="line.1810"></a>
-<span class="sourceLineNo">1811</span>      String msg =<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span>          "Failed to start http info server. Address " + addr<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span>              + " does not belong to this host. Correct configuration parameter: "<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span>              + "hbase.regionserver.info.bindAddress";<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span>      LOG.error(msg);<a name="line.1815"></a>
-<span class="sourceLineNo">1816</span>      throw new IOException(msg);<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span>    }<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span>    // check if auto port bind enabled<a name="line.1818"></a>
-<span class="sourceLineNo">1819</span>    boolean auto = this.conf.getBoolean(HConstants.REGIONSERVER_INFO_PORT_AUTO,<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span>        false);<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span>    while (true) {<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span>      try {<a name="line.1822"></a>
-<span class="sourceLineNo">1823</span>        this.infoServer = new InfoServer(getProcessName(), addr, port, false, this.conf);<a name="line.1823"></a>
-<span class="sourceLineNo">1824</span>        infoServer.addServlet("dump", "/dump", getDumpServlet());<a name="line.1824"></a>
-<span class="sourceLineNo">1825</span>        configureInfoServer();<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span>        this.infoServer.start();<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span>        break;<a name="line.1827"></a>
-<span class="sourceLineNo">1828</span>      } catch (BindException e) {<a name="line.1828"></a>
-<span class="sourceLineNo">1829</span>        if (!auto) {<a name="line.1829"></a>
-<span class="sourceLineNo">1830</span>          // auto bind disabled throw BindException<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span>          LOG.error("Failed binding http info server to port: " + port);<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span>          throw e;<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span>        }<a name="line.1833"></a>
-<span class="sourceLineNo">1834</span>        // auto bind enabled, try to use another port<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span>        LOG.info("Failed binding http info server to port: " + port);<a name="line.1835"></a>
-<span class="sourceLineNo">1836</span>        port++;<a name="line.1836"></a>
-<span class="sourceLineNo">1837</span>      }<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span>    }<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span>    port = this.infoServer.getPort();<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span>    conf.setInt(HConstants.REGIONSERVER_INFO_PORT, port);<a name="line.1840"></a>
-<span class="sourceLineNo">1841</span>    int masterInfoPort = conf.getInt(HConstants.MASTER_INFO_PORT,<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span>      HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span>    conf.setInt("hbase.master.info.port.orig", masterInfoPort);<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span>    conf.setInt(HConstants.MASTER_INFO_PORT, port);<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span>    return port;<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span>  }<a name="line.1846"></a>
-<span class="sourceLineNo">1847</span><a name="line.1847"></a>
-<span class="sourceLineNo">1848</span>  /*<a name="line.1848"></a>
-<span class="sourceLineNo">1849</span>   * Verify that server is healthy<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span>   */<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span>  private boolean isHealthy() {<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span>    if (!fsOk) {<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span>      // File system problem<a name="line.1853"></a>
-<span class="sourceLineNo">1854</span>      return false;<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span>    }<a name="line.1855"></a>
-<span class="sourceLineNo">1856</span>    // Verify that all threads are alive<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span>    if (!(leases.isAlive()<a name="line.1857"></a>
-<span class="sourceLineNo">1858</span>        &amp;&amp; cacheFlusher.isAlive() &amp;&amp; walRoller.isAlive()<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span>        &amp;&amp; this.compactionChecker.isScheduled()<a name="line.1859"></a>
-<span class="sourceLineNo">1860</span>        &amp;&amp; this.periodicFlusher.isScheduled())) {<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span>      stop("One or more threads are no longer alive -- stop");<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span>      return false;<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span>    }<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span>    final LogRoller metawalRoller = this.metawalRoller.get();<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span>    if (metawalRoller != null &amp;&amp; !metawalRoller.isAlive()) {<a name="line.1865"></a>
-<span class="sourceLineNo">1866</span>      stop("Meta WAL roller thread is no longer alive -- stop");<a name="line.1866"></a>
-<span class="sourceLineNo">1867</span>      return false;<a name="line.1867"></a>
-<span class="sourceLineNo">1868</span>    }<a name="line.1868"></a>
-<span class="sourceLineNo">1869</span>    return true;<a name="line.1869"></a>
-<span class="sourceLineNo">1870</span>  }<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span><a name="line.1871"></a>
-<span class="sourceLineNo">1872</span>  private static final byte[] UNSPECIFIED_REGION = new byte[]{};<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span><a name="line.1873"></a>
-<span class="sourceLineNo">1874</span>  @Override<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span>  public WAL getWAL(HRegionInfo regionInfo) throws IOException {<a name="line.1875"></a>
-<span class="sourceLineNo">1876</span>    WAL wal;<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span>    LogRoller roller = walRoller;<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span>    //_ROOT_ and hbase:meta regions have separate WAL.<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span>    if (regionInfo != null &amp;&amp; regionInfo.isMetaTable() &amp;&amp;<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span>        regionInfo.getReplicaId() == HRegionInfo.DEFAULT_REPLICA_ID) {<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span>      roller = ensureMetaWALRoller();<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span>      wal = walFactory.getMetaWAL(regionInfo.getEncodedNameAsBytes());<a name="line.1882"></a>
-<span class="sourceLineNo">1883</span>    } else if (regionInfo == null) {<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span>      wal = walFactory.getWAL(UNSPECIFIED_REGION, null);<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span>    } else {<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span>      byte[] namespace = regionInfo.getTable().getNamespace();<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span>      wal = walFactory.getWAL(regionInfo.getEncodedNameAsBytes(), namespace);<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span>    }<a name="line.1888"></a>
-<span class="sourceLineNo">1889</span>    roller.addWAL(wal);<a name="line.1889"></a>
-<span class="sourceLineNo">1890</span>    return wal;<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span>  }<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span><a name="line.1892"></a>
-<span class="sourceLineNo">1893</span>  @Override<a name="line.1893"></a>
-<span class="sourceLineNo">1894</span>  public Connection getConnection() {<a name="line.1894"></a>
-<span class="sourceLineNo">1895</span>    return getClusterConnection();<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>  @Override<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>  public ClusterConnection getClusterConnection() {<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>    return this.clusterConnection;<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>  }<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span><a name="line.1902"></a>
-<span class="sourceLineNo">1903</span>  @Override<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>  public MetaTableLocator getMetaTableLocator() {<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>    return this.metaTableLocator;<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>  }<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span><a name="line.1907"></a>
-<span class="sourceLineNo">1908</span>  @Override<a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>  public void stop(final String msg) {<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>    if (!this.stopped) {<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>      try {<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>        if (this.rsHost != null) {<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>          this.rsHost.preStop(msg);<a name="line.1913"></a>
-<span class="sourceLineNo">1914</span>        }<a name="line.1914"></a>
-<span class="sourceLineNo">1915</span>        this.stopped = true;<a name="line.1915"></a>
-<span class="sourceLineNo">1916</span>        LOG.info("STOPPED: " + msg);<a name="line.1916"></a>
-<span class="sourceLineNo">1917</span>        // Wakes run() if it is sleeping<a name="line.1917"></a>
-<span class="sourceLineNo">1918</span>        sleeper.skipSleepCycle();<a name="line.1918"></a>
-<span class="sourceLineNo">1919</span>      } catch (IOException exp) {<a name="line.1919"></a>
-<span class="sourceLineNo">1920</span>        LOG.warn("The region server did not stop", exp);<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>  }<a name="line.1923"></a>
-<span class="sourceLineNo">1924</span><a name="line.1924"></a>
-<span class="sourceLineNo">1925</span>  public void waitForServerOnline(){<a name="line.1925"></a>
-<span class="sourceLineNo">1926</span>    while (!isStopped() &amp;&amp; !isOnline()) {<a name="line.1926"></a>
-<span class="sourceLineNo">1927</span>      synchronized (online) {<a name="line.1927"></a>
-<span class="sourceLineNo">1928</span>        try {<a name="line.1928"></a>
-<span class="sourceLineNo">1929</span>          online.wait(msgInterval);<a name="line.1929"></a>
-<span class="sourceLineNo">1930</span>        } catch (InterruptedException ie) {<a name="line.1930"></a>
-<span class="sourceLineNo">1931</span>          Thread.currentThread().interrupt();<a name="line.1931"></a>
-<span class="sourceLineNo">1932</span>          break;<a name="line.1932"></a>
-<span class="sourceLineNo">1933</span>        }<a name="line.1933"></a>
-<span class="sourceLineNo">1934</span>      }<a name="line.1934"></a>
-<span class="sourceLineNo">1935</span>    }<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 void postOpenDeployTasks(final Region r) throws KeeperException, IOException {<a name="line.1939"></a>
-<span class="sourceLineNo">1940</span>    postOpenDeployTasks(new PostOpenDeployContext(r, -1));<a name="line.1940"></a>
-<span class="sourceLineNo">1941</span>  }<a name="line.1941"></a>
-<span class="sourceLineNo">1942</span><a name="line.1942"></a>
-<span class="sourceLineNo">1943</span>  @Override<a name="line.1943"></a>
-<span class="sourceLineNo">1944</span>  public void postOpenDeployTasks(final PostOpenDeployContext context)<a name="line.1944"></a>
-<span class="sourceLineNo">1945</span>      throws KeeperException, IOException {<a name="line.1945"></a>
-<span class="sourceLineNo">1946</span>    Region r = context.getRegion();<a name="line.1946"></a>
-<span class="sourceLineNo">1947</span>    long masterSystemTime = context.getMasterSystemTime();<a name="line.1947"></a>
-<span class="sourceLineNo">1948</span>    Preconditions.checkArgument(r instanceof HRegion, "r must be an HRegion");<a name="line.1948"></a>
-<span class="sourceLineNo">1949</span>    rpcServices.checkOpen();<a name="line.1949"></a>
-<span class="sourceLineNo">1950</span>    LOG.info("Post open deploy tasks for " + r.getRegionInfo().getRegionNameAsString());<a name="line.1950"></a>
-<span class="sourceLineNo">1951</span>    // Do checks to see if we need to compact (references or too many files)<a name="line.1951"></a>
-<span class="sourceLineNo">1952</span>    for (Store s : r.getStores()) {<a name="line.1952"></a>
-<span class="sourceLineNo">1953</span>      if (s.hasReferences() || s.needsCompaction()) {<a name="line.1953"></a>
-<span class="sourceLineNo">1954</span>       this.compactSplitThread.requestSystemCompaction(r, s, "Opening Region");<a name="line.1954"></a>
-<span class="sourceLineNo">1955</span>      }<a name="line.1955"></a>
-<span class="sourceLineNo">1956</span>    }<a name="line.1956"></a>
-<span class="sourceLineNo">1957</span>    long openSeqNum = r.getOpenSeqNum();<a name="line.1957"></a>
-<span class="sourceLineNo">1958</span>    if (openSeqNum == HConstants.NO_SEQNUM) {<a name="line.1958"></a>
-<span class="sourceLineNo">1959</span>      // If we opened a region, we should have read some sequence number from it.<a name="line.1959"></a>
-<span class="sourceLineNo">1960</span>      LOG.error("No sequence number found when opening " +<a name="line.1960"></a>
-<span class="sourceLineNo">1961</span>        r.getRegionInfo().getRegionNameAsString());<a name="line.1961"></a>
-<span class="sourceLineNo">1962</span>      openSeqNum = 0;<a name="line.1962"></a>
-<span class="sourceLineNo">1963</span>    }<a name="line.1963"></a>
-<span class="sourceLineNo">1964</span><a name="line.1964"></a>
-<span class="sourceLineNo">1965</span>    // Update flushed sequence id of a recovering region in ZK<a name="line.1965"></a>
-<span class="sourceLineNo">1966</span>    updateRecoveringRegionLastFlushedSequenceId(r);<a name="line.1966"></a>
-<span class="sourceLineNo">1967</span><a name="line.1967"></a>
-<span class="sourceLineNo">1968</span>    // Notify master<a name="line.1968"></a>
-<span class="sourceLineNo">1969</span>    if (!reportRegionStateTransition(new RegionStateTransitionContext(<a name="line.1969"></a>
-<span class="sourceLineNo">1970</span>        TransitionCode.OPENED, openSeqNum, masterSystemTime, r.getRegionInfo()))) {<a name="line.1970"></a>
-<span class="sourceLineNo">1971</span>      throw new IOException("Failed to report opened region to master: "<a name="line.1971"></a>
-<span class="sourceLineNo">1972</span>        + r.getRegionInfo().getRegionNameAsString());<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>    triggerFlushInPrimaryRegion((HRegion)r);<a name="line.1975"></a>
-<span class="sourceLineNo">1976</span><a name="line.1976"></a>
-<span class="sourceLineNo">1977</span>    LOG.debug("Finished post open deploy task for " + r.getRegionInfo().getRegionNameAsString());<a name="line.1977"></a>
-<span class="sourceLineNo">1978</span>  }<a name="line.1978"></a>
-<span class="sourceLineNo">1979</span><a name="line.1979"></a>
-<span class="sourceLineNo">1980</span>  @Override<a name="line.1980"></a>
-<span class="sourceLineNo">1981</span>  public boolean reportRegionStateTransition(TransitionCode code, HRegionInfo... hris) {<a name="line.1981"></a>
-<span class="sourceLineNo">1982</span>    return reportRegionStateTransition(code, HConstants.NO_SEQNUM, hris);<a name="line.1982"></a>
-<span class="sourceLineNo">1983</span>  }<a name="line.1983"></a>
-<span class="sourceLineNo">1984</span><a name="line.1984"></a>
-<span class="sourceLineNo">1985</span>  @Override<a name="line.1985"></a>
-<span class="sourceLineNo">1986</span>  public boolean reportRegionStateTransition(<a name="line.1986"></a>
-<span class="sourceLineNo">1987</span>      TransitionCode code, long openSeqNum, HRegionInfo... hris) {<a name="line.1987"></a>
-<span class="sourceLineNo">1988</span>    return reportRegionStateTransition(<a name="line.1988"></a>
-<span class="sourceLineNo">1989</span>      new RegionStateTransitionContext(code, HConstants.NO_SEQNUM, -1, hris));<a name="line.1989"></a>
-<span class="sourceLineNo">1990</span>  }<a name="line.1990"></a>
-<span class="sourceLineNo">1991</span><a name="line.1991"></a>
-<span class="sourceLineNo">1992</span>  @Override<a name="line.1992"></a>
-<span class="sourceLineNo">1993</span>  public boolean reportRegionStateTransition(final RegionStateTransitionContext context) {<a name="line.1993"></a>
-<span class="sourceLineNo">1994</span>    TransitionCode code = context.getCode();<a name="line.1994"></a>
-<span class="sourceLineNo">1995</span>    long openSeqNum = context.getOpenSeqNum();<a name="line.1995"></a>
-<span class="sourceLineNo">1996</span>    long masterSystemTime = context.getMasterSystemTime();<a name="line.1996"></a>
-<span class="sourceLineNo">1997</span>    HRegionInfo[] hris = context.getHris();<a name="line.1997"></a>
-<span class="sourceLineNo">1998</span><a name="line.1998"></a>
-<span class="sourceLineNo">1999</span>    if (TEST_SKIP_REPORTING_TRANSITION) {<a name="line.1999"></a>
-<span class="sourceLineNo">2000</span>      // This is for testing only in case there is no master<a name="line.2000"></a>
-<span class="sourceLineNo">2001</span>      // to handle the region transition report at all.<a name="line.2001"></a>
-<span class="sourceLineNo">2002</span>      if (code == TransitionCode.OPENED) {<a name="line.2002"></a>
-<span class="sourceLineNo">2003</span>        Preconditions.checkArgument(hris != null &amp;&amp; hris.length == 1);<a name="line.2003"></a>
-<span class="sourceLineNo">2004</span>        if (hris[0].isMetaRegion()) {<a name="line.2004"></a>
-<span class="sourceLineNo">2005</span>          try {<a name="line.2005"></a>
-<span class="sourceLineNo">2006</span>            MetaTableLocator.setMetaLocation(getZooKeeper(), serverName,<a name="line.2006"></a>
-<span class="sourceLineNo">2007</span>                hris[0].getReplicaId(),State.OPEN);<a name="line.2007"></a>
-<span class="sourceLineNo">2008</span>          } catch (KeeperException e) {<a name="line.2008"></a>
-<span class="sourceLineNo">2009</span>            LOG.info("Failed to update meta location", e);<a name="line.2009"></a>
-<span class="sourceLineNo">2010</span>            return false;<a name="line.2010"></a>
-<span class="sourceLineNo">2011</span>          }<a name="line.2011"></a>
-<span class="sourceLineNo">2012</span>        } else {<a name="line.2012"></a>
-<span class="sourceLineNo">2013</span>          try {<a name="line.2013"></a>
-<span class="sourceLineNo">2014</span>            MetaTableAccessor.updateRegionLocation(clusterConnection,<a name="line.2014"></a>
-<span class="sourceLineNo">2015</span>              hris[0], serverName, openSeqNum, masterSystemTime);<a name="line.2015"></a>
-<span class="sourceLineNo">2016</span>          } catch (IOException e) {<a name="line.2016"></a>
-<span class="sourceLineNo">2017</span>            LOG.info("Failed to update meta", e);<a name="line.2017"></a>
-<span class="sourceLineNo">2018</span>            return false;<a name="line.2018"></a>
-<span class="sourceLineNo">2019</span>          }<a name="line.2019"></a>
-<span class="sourceLineNo">2020</span>        }<a name="line.2020"></a>
-<span class="sourceLineNo">2021</span>      }<a name="line.2021"></a>
-<span class="sourceLineNo">2022</span>      return true;<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>    ReportRegionStateTransitionRequest.Builder builder =<a name="line.2025"></a>
-<span class="sourceLineNo">2026</span>      ReportRegionStateTransitionRequest.newBuilder();<a name="line.2026"></a>
-<span class="sourceLineNo">2027</span>    builder.setServer(ProtobufUtil.toServerName(serverName));<a name="line.2027"></a>
-<span class="sourceLineNo">2028</span>    RegionStateTransition.Builder transition = builder.addTransitionBuilder();<a name="line.2028"></a>
-<span class="sourceLineNo">2029</span>    transition.setTransitionCode(code);<a name="line.2029"></a>
-<span class="sourceLineNo">2030</span>    if (code == TransitionCode.OPENED &amp;&amp; openSeqNum &gt;= 0) {<a name="line.2030"></a>
-<span class="sourceLineNo">2031</span>      transition.setOpenSeqNum(openSeqNum);<a name="line.2031"></a>
-<span class="sourceLineNo">2032</span>    }<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>    for (HRegionInfo hri: hris) {<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>      transition.addRegionInfo(HRegionInfo.convert(hri));<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span>    }<a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>    ReportRegionStateTransitionRequest request = builder.build();<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>    while (keepLooping()) {<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2038"></a>
-<span class="sourceLineNo">2039</span>      try {<a name="line.2039"></a>
-<span class="sourceLineNo">2040</span>        if (rss == null) {<a name="line.2040"></a>
-<span class="sourceLineNo">2041</span>          createRegionServerStatusStub();<a name="line.2041"></a>
-<span class="sourceLineNo">2042</span>          continue;<a name="line.2042"></a>
-<span class="sourceLineNo">2043</span>        }<a name="line.2043"></a>
-<span class="sourceLineNo">2044</span>        ReportRegionStateTransitionResponse response =<a name="line.2044"></a>
-<span class="sourceLineNo">2045</span>          rss.reportRegionStateTransition(null, request);<a name="line.2045"></a>
-<span class="sourceLineNo">2046</span>        if (response.hasErrorMessage()) {<a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>          LOG.info("Failed to transition " + hris[0]<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>            + " to " + code + ": " + response.getErrorMessage());<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>          return false;<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>        }<a name="line.2050"></a>
-<span class="sourceLineNo">2051</span>        return true;<a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>      } catch (ServiceException se) {<a name="line.2052"></a>
-<span class="sourceLineNo">2053</span>        IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>        LOG.info("Failed to report region transition, will retry", ioe);<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span>        if (rssStub == rss) {<a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>          rssStub = null;<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>    return false;<a name="line.2060"></a>
-<span class="sourceLineNo">2061</span>  }<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span><a name="line.2062"></a>
-<span class="sourceLineNo">2063</span>  /**<a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>   * Trigger a flush in the primary region replica if this region is a secondary replica. Does not<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span>   * block this thread. See RegionReplicaFlushHandler for details.<a name="line.2065"></a>
-<span class="sourceLineNo">2066</span>   */<a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>  void triggerFlushInPrimaryRegion(final HRegion region) {<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>    if (ServerRegionReplicaUtil.isDefaultReplica(region.getRegionInfo())) {<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span>      return;<a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>    }<a name="line.2070"></a>
-<span class="sourceLineNo">2071</span>    if (!ServerRegionReplicaUtil.isRegionReplicaReplicationEnabled(region.conf) ||<a name="line.2071"></a>
-<span class="sourceLineNo">2072</span>        !ServerRegionReplicaUtil.isRegionReplicaWaitForPrimaryFlushEnabled(<a name="line.2072"></a>
-<span class="sourceLineNo">2073</span>          region.conf)) {<a name="line.2073"></a>
-<span class="sourceLineNo">2074</span>      region.setReadsEnabled(true);<a name="line.2074"></a>
-<span class="sourceLineNo">2075</span>      return;<a name="line.2075"></a>
-<span class="sourceLineNo">2076</span>    }<a name="line.2076"></a>
-<span class="sourceLineNo">2077</span><a name="line.2077"></a>
-<span class="sourceLineNo">2078</span>    region.setReadsEnabled(false); // disable reads before marking the region as opened.<a name="line.2078"></a>
-<span class="sourceLineNo">2079</span>    // RegionReplicaFlushHandler might reset this.<a name="line.2079"></a>
-<span class="sourceLineNo">2080</span><a name="line.2080"></a>
-<span class="sourceLineNo">2081</span>    // submit it to be handled by one of the handlers so that we do not block OpenRegionHandler<a name="line.2081"></a>
-<span class="sourceLineNo">2082</span>    this.service.submit(<a name="line.2082"></a>
-<span class="sourceLineNo">2083</span>      new RegionReplicaFlushHandler(this, clusterConnection,<a name="line.2083"></a>
-<span class="sourceLineNo">2084</span>        rpcRetryingCallerFactory, rpcControllerFactory, operationTimeout, region));<a name="line.2084"></a>
-<span class="sourceLineNo">2085</span>  }<a name="line.2085"></a>
-<span class="sourceLineNo">2086</span><a name="line.2086"></a>
-<span class="sourceLineNo">2087</span>  @Override<a name="line.2087"></a>
-<span class="sourceLineNo">2088</span>  public RpcServerInterface getRpcServer() {<a name="line.2088"></a>
-<span class="sourceLineNo">2089</span>    return rpcServices.rpcServer;<a name="line.2089"></a>
-<span class="sourceLineNo">2090</span>  }<a name="line.2090"></a>
-<span class="sourceLineNo">2091</span><a name="line.2091"></a>
-<span class="sourceLineNo">2092</span>  @VisibleForTesting<a name="line.2092"></a>
-<span class="sourceLineNo">2093</span>  public RSRpcServices getRSRpcServices() {<a name="line.2093"></a>
-<span class="sourceLineNo">2094</span>    return rpcServices;<a name="line.2094"></a>
-<span class="sourceLineNo">2095</span>  }<a name="line.2095"></a>
-<span class="sourceLineNo">2096</span><a name="line.2096"></a>
-<span class="sourceLineNo">2097</span>  /**<a name="line.2097"></a>
-<span class="sourceLineNo">2098</span>   * Cause the server to exit without closing the regions it is serving, the log<a name="line.2098"></a>
-<span class="sourceLineNo">2099</span>   * it is using and without notifying the master. Used unit testing and on<a name="line.2099"></a>
-<span class="sourceLineNo">2100</span>   * catastrophic events such as HDFS is yanked out from under hbase or we OOME.<a name="line.2100"></a>
-<span class="sourceLineNo">2101</span>   *<a name="line.2101"></a>
-<span class="sourceLineNo">2102</span>   * @param reason<a name="line.2102"></a>
-<span class="sourceLineNo">2103</span>   *          the reason we are aborting<a name="line.2103"></a>
-<span class="sourceLineNo">2104</span>   * @param cause<a name="line.2104"></a>
-<span class="sourceLineNo">2105</span>   *          the exception that caused the abort, or null<a name="line.2105"></a>
-<span class="sourceLineNo">2106</span>   */<a name="line.2106"></a>
-<span class="sourceLineNo">2107</span>  @Override<a name="line.2107"></a>
-<span class="sourceLineNo">2108</span>  public void abort(String reason, Throwable cause) {<a name="line.2108"></a>
-<span class="sourceLineNo">2109</span>    String msg = "ABORTING region server " + this + ": " + reason;<a name="line.2109"></a>
-<span class="sourceLineNo">2110</span>    if (cause != null) {<a name="line.2110"></a>
-<span class="sourceLineNo">2111</span>      LOG.fatal(msg, cause);<a name="line.2111"></a>
-<span class="sourceLineNo">2112</span>    } else {<a name="line.2112"></a>
-<span class="sourceLineNo">2113</span>      LOG.fatal(msg);<a name="line.2113"></a>
-<span class="sourceLineNo">2114</span>    }<a name="line.2114"></a>
-<span class="sourceLineNo">2115</span>    this.abortRequested = true;<a name="line.2115"></a>
-<span class="sourceLineNo">2116</span>    // HBASE-4014: show list of coprocessors that were loaded to help debug<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span>    // regionserver crashes.Note that we're implicitly using<a name="line.2117"></a>
-<span class="sourceLineNo">2118</span>    // java.util.HashSet's toString() method to print the coprocessor names.<a name="line.2118"></a>
-<span class="sourceLineNo">2119</span>    LOG.fatal("RegionServer abort: loaded coprocessors are: " +<a name="line.2119"></a>
-<span class="sourceLineNo">2120</span>        CoprocessorHost.getLoadedCoprocessors());<a name="line.2120"></a>
-<span class="sourceLineNo">2121</span>    // Try and dump metrics if abort -- might give clue as to how fatal came about....<a name="line.2121"></a>
-<span class="sourceLineNo">2122</span>    try {<a name="line.2122"></a>
-<span class="sourceLineNo">2123</span>      LOG.info("Dump of metrics as JSON on abort: " + JSONBean.dumpRegionServerMetrics());<a name="line.2123"></a>
-<span class="sourceLineNo">2124</span>    } catch (MalformedObjectNameException | IOException e) {<a name="line.2124"></a>
-<span class="sourceLineNo">2125</span>      LOG.warn("Failed dumping metrics", e);<a name="line.2125"></a>
-<span class="sourceLineNo">2126</span>    }<a name="line.2126"></a>
-<span class="sourceLineNo">2127</span><a name="line.2127"></a>
-<span class="sourceLineNo">2128</span>    // Do our best to report our abort to the master, but this may not work<a name="line.2128"></a>
-<span class="sourceLineNo">2129</span>    try {<a name="line.2129"></a>
-<span class="sourceLineNo">2130</span>      if (cause != null) {<a name="line.2130"></a>
-<span class="sourceLineNo">2131</span>        msg += "\nCause:\n" + StringUtils.stringifyException(cause);<a name="line.2131"></a>
-<span class="sourceLineNo">2132</span>      }<a name="line.2132"></a>
-<span class="sourceLineNo">2133</span>      // Report to the master but only if we have already registered with the master.<a name="line.2133"></a>
-<span class="sourceLineNo">2134</span>      if (rssStub != null &amp;&amp; this.serverName != null) {<a name="line.2134"></a>
-<span class="sourceLineNo">2135</span>        ReportRSFatalErrorRequest.Builder builder =<a name="line.2135"></a>
-<span class="sourceLineNo">2136</span>          ReportRSFatalErrorRequest.newBuilder();<a name="line.2136"></a>
-<span class="sourceLineNo">2137</span>        ServerName sn =<a name="line.2137"></a>
-<span class="sourceLineNo">2138</span>          ServerName.parseVersionedServerName(this.serverName.getVersionedBytes());<a name="line.2138"></a>
-<span class="sourceLineNo">2139</span>        builder.setServer(ProtobufUtil.toServerName(sn));<a name="line.2139"></a>
-<span class="sourceLineNo">2140</span>        builder.setErrorMessage(msg);<a name="line.2140"></a>
-<span class="sourceLineNo">2141</span>        rssStub.reportRSFatalError(null, builder.build());<a name="line.2141"></a>
-<span class="sourceLineNo">2142</span>      }<a name="line.2142"></a>
-<span class="sourceLineNo">2143</span>    } catch (Throwable t) {<a name="line.2143"></a>
-<span class="sourceLineNo">2144</span>      LOG.warn("Unable to report fatal error to master", t);<a name="line.2144"></a>
-<span class="sourceLineNo">2145</span>    }<a name="line.2145"></a>
-<span class="sourceLineNo">2146</span>    stop(reason);<a name="line.2146"></a>
-<span class="sourceLineNo">2147</span>  }<a name="line.2147"></a>
-<span class="sourceLineNo">2148</span><a name="line.2148"></a>
-<span class="sourceLineNo">2149</span>  /**<a name="line.2149"></a>
-<span class="sourceLineNo">2150</span>   * @see HRegionServer#abort(String, Throwable)<a name="line.2150"></a>
-<span class="sourceLineNo">2151</span>   */<a name="line.2151"></a>
-<span class="sourceLineNo">2152</span>  public void abort(String reason) {<a name="line.2152"></a>
-<span class="sourceLineNo">2153</span>    abort(reason, null);<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>  @Override<a name="line.2156"></a>
-<span class="sourceLineNo">2157</span>  public boolean isAborted() {<a name="line.2157"></a>
-<span class="sourceLineNo">2158</span>    return this.abortRequested;<a name="line.2158"></a>
-<span class="sourceLineNo">2159</span>  }<a name="line.2159"></a>
-<span class="sourceLineNo">2160</span><a name="line.2160"></a>
-<span class="sourceLineNo">2161</span>  /*<a name="line.2161"></a>
-<span class="sourceLineNo">2162</span>   * Simulate a kill -9 of this server. Exits w/o closing regions or cleaninup<a name="line.2162"></a>
-<span class="sourceLineNo">2163</span>   * logs but it does close socket in case want to bring up server on old<a name="line.2163"></a>
-<span class="sourceLineNo">2164</span>   * hostname+port immediately.<a name="line.2164"></a>
-<span class="sourceLineNo">2165</span>   */<a name="line.2165"></a>
-<span class="sourceLineNo">2166</span>  protected void kill() {<a name="line.2166"></a>
-<span class="sourceLineNo">2167</span>    this.killed = true;<a name="line.2167"></a>
-<span class="sourceLineNo">2168</span>    abort("Simulated kill");<a name="line.2168"></a>
-<span class="sourceLineNo">2169</span>  }<a name="line.2169"></a>
-<span class="sourceLineNo">2170</span><a name="line.2170"></a>
-<span class="sourceLineNo">2171</span>  /**<a name="line.2171"></a>
-<span class="sourceLineNo">2172</span>   * Called on stop/abort before closing the cluster connection and meta locator.<a name="line.2172"></a>
-<span class="sourceLineNo">2173</span>   */<a name="line.2173"></a>
-<span class="sourceLineNo">2174</span>  protected void sendShutdownInterrupt() {<a name="line.2174"></a>
-<span class="sourceLineNo">2175</span>  }<a name="line.2175"></a>
-<span class="sourceLineNo">2176</span><a name="line.2176"></a>
-<span class="sourceLineNo">2177</span>  /**<a name="line.2177"></a>
-<span class="sourceLineNo">2178</span>   * Wait on all threads to finish. Presumption is that all closes and stops<a name="line.2178"></a>
-<span class="sourceLineNo">2179</span>   * have already been called.<a name="line.2179"></a>
-<span class="sourceLineNo">2180</span>   */<a name="line.2180"></a>
-<span class="sourceLineNo">2181</span>  protected void stopServiceThreads() {<a name="line.2181"></a>
-<span class="sourceLineNo">2182</span>    // clean up the scheduled chores<a name="line.2182"></a>
-<span class="sourceLineNo">2183</span>    if (this.choreService != null) choreService.shutdown();<a name="line.2183"></a>
-<span class="sourceLineNo">2184</span>    if (this.nonceManagerChore != null) nonceManagerChore.cancel(true);<a name="line.2184"></a>
-<span class="sourceLineNo">2185</span>    if (this.compactionChecker != null) compactionChecker.cancel(true);<a name="line.2185"></a>
-<span class="sourceLineNo">2186</span>    if (this.periodicFlusher != null) periodicFlusher.cancel(true);<a name="line.2186"></a>
-<span class="sourceLineNo">2187</span>    if (this.healthCheckChore != null) healthCheckChore.cancel(true);<a name="line.2187"></a>
-<span class="sourceLineNo">2188</span>    if (this.storefileRefresher != null) storefileRefresher.cancel(true);<a name="line.2188"></a>
-<span class="sourceLineNo">2189</span>    if (this.movedRegionsCleaner != null) movedRegionsCleaner.cancel(true);<a name="line.2189"></a>
-<span class="sourceLineNo">2190</span><a name="line.2190"></a>
-<span class="sourceLineNo">2191</span>    if (this.cacheFlusher != null) {<a name="line.2191"></a>
-<span class="sourceLineNo">2192</span>      this.cacheFlusher.join();<a name="line.2192"></a>
-<span class="sourceLineNo">2193</span>    }<a name="line.2193"></a>
-<span class="sourceLineNo">2194</span><a name="line.2194"></a>
-<span class="sourceLineNo">2195</span>    if (this.spanReceiverHost != null) {<a name="line.2195"></a>
-<span class="sourceLineNo">2196</span>      this.spanReceiverHost.closeReceivers();<a name="line.2196"></a>
-<span class="sourceLineNo">2197</span>    }<a name="line.2197"></a>
-<span class="sourceLineNo">2198</span>    if (this.walRoller != null) {<a name="line.2198"></a>
-<span class="sourceLineNo">2199</span>      Threads.shutdown(this.walRoller.getThread());<a name="line.2199"></a>
-<span class="sourceLineNo">2200</span>    }<a name="line.2200"></a>
-<span class="sourceLineNo">2201</span>    final LogRoller metawalRoller = this.metawalRoller.get();<a name="line.2201"></a>
-<span class="sourceLineNo">2202</span>    if (metawalRoller != null) {<a name="line.2202"></a>
-<span class="sourceLineNo">2203</span>      Threads.shutdown(metawalRoller.getThread());<a name="line.2203"></a>
-<span class="sourceLineNo">2204</span>    }<a name="line.2204"></a>
-<span class="sourceLineNo">2205</span>    if (this.compactSplitThread != null) {<a name="line.2205"></a>
-<span class="sourceLineNo">2206</span>      this.compactSplitThread.join();<a name="line.2206"></a>
-<span class="sourceLineNo">2207</span>    }<a name="line.2207"></a>
-<span class="sourceLineNo">2208</span>    if (this.service != null) this.service.shutdown();<a name="line.2208"></a>
-<span class="sourceLineNo">2209</span>    if (this.replicationSourceHandler != null &amp;&amp;<a name="line.2209"></a>
-<span class="sourceLineNo">2210</span>        this.replicationSourceHandler == this.replicationSinkHandler) {<a name="line.2210"></a>
-<span class="sourceLineNo">2211</span>      this.replicationSourceHandler.stopReplicationService();<a name="line.2211"></a>
-<span class="sourceLineNo">2212</span>    } else {<a name="line.2212"></a>
-<span class="sourceLineNo">2213</span>      if (this.replicationSourceHandler != null) {<a name="line.2213"></a>
-<span class="sourceLineNo">2214</span>        this.replicationSourceHandler.stopReplicationService();<a name="line.2214"></a>
-<span class="sourceLineNo">2215</span>      }<a name="line.2215"></a>
-<span class="sourceLineNo">2216</span>      if (this.replicationSinkHandler != null) {<a name="line.2216"></a>
-<span class="sourceLineNo">2217</span>        this.replicationSinkHandler.stopReplicationService();<a name="line.2217"></a>
-<span class="sourceLineNo">2218</span>      }<a name="line.2218"></a>
-<span class="sourceLineNo">2219</span>    }<a name="line.2219"></a>
-<span class="sourceLineNo">2220</span>  }<a name="line.2220"></a>
-<span class="sourceLineNo">2221</span><a name="line.2221"></a>
-<span class="sourceLineNo">2222</span>  /**<a name="line.2222"></a>
-<span class="sourceLineNo">2223</span>   * @return Return the object that implements the replication<a name="line.2223"></a>
-<span class="sourceLineNo">2224</span>   * source service.<a name="line.2224"></a>
-<span class="sourceLineNo">2225</span>   */<a name="line.2225"></a>
-<span class="sourceLineNo">2226</span>  ReplicationSourceService getReplicationSourceService() {<a name="line.2226"></a>
-<span class="sourceLineNo">2227</span>    return replicationSourceHandler;<a name="line.2227"></a>
-<span class="sourceLineNo">2228</span>  }<a name="line.2228"></a>
-<span class="sourceLineNo">2229</span><a name="line.2229"></a>
-<span class="sourceLineNo">2230</span>  /**<a name="line.2230"></a>
-<span class="sourceLineNo">2231</span>   * @return Return the object that implements the replication<a name="line.2231"></a>
-<span class="sourceLineNo">2232</span>   * sink service.<a name="line.2232"></a>
-<span class="sourceLineNo">2233</span>   */<a name="line.2233"></a>
-<span class="sourceLineNo">2234</span>  ReplicationSinkService getReplicationSinkService() {<a name="line.2234"></a>
-<span class="sourceLineNo">2235</span>    return replicationSinkHandler;<a name="line.2235"></a>
-<span class="sourceLineNo">2236</span>  }<a name="line.2236"></a>
-<span class="sourceLineNo">2237</span><a name="line.2237"></a>
-<span class="sourceLineNo">2238</span>  /**<a name="line.2238"></a>
-<span class="sourceLineNo">2239</span>   * Get the current master from ZooKeeper and open the RPC connection to it.<a name="line.2239"></a>
-<span class="sourceLineNo">2240</span>   * To get a fresh connection, the current rssStub must be null.<a name="line.2240"></a>
-<span class="sourceLineNo">2241</span>   * Method will block until a master is available. You can break from this<a name="line.2241"></a>
-<span class="sourceLineNo">2242</span>   * block by requesting the server stop.<a name="line.2242"></a>
-<span class="sourceLineNo">2243</span>   *<a name="line.2243"></a>
-<span class="sourceLineNo">2244</span>   * @return master + port, or null if server has been stopped<a name="line.2244"></a>
-<span class="sourceLineNo">2245</span>   */<a name="line.2245"></a>
-<span class="sourceLineNo">2246</span>  @VisibleForTesting<a name="line.2246"></a>
-<span class="sourceLineNo">2247</span>  protected synchronized ServerName createRegionServerStatusStub() {<a name="line.2247"></a>
-<span class="sourceLineNo">2248</span>    if (rssStub != null) {<a name="line.2248"></a>
-<span class="sourceLineNo">2249</span>      return masterAddressTracker.getMasterAddress();<a name="line.2249"></a>
-<span class="sourceLineNo">2250</span>    }<a name="line.2250"></a>
-<span class="sourceLineNo">2251</span>    ServerName sn = null;<a name="line.2251"></a>
-<span class="sourceLineNo">2252</span>    long previousLogTime = 0;<a name="line.2252"></a>
-<span class="sourceLineNo">2253</span>    boolean refresh = false; // for the first time, use cached data<a name="line.2253"></a>
-<span class="sourceLineNo">2254</span>    RegionServerStatusService.BlockingInterface intf = null;<a name="line.2254"></a>
-<span class="sourceLineNo">2255</span>    boolean interrupted = false;<a name="line.2255"></a>
-<span class="sourceLineNo">2256</span>    try {<a name="line.2256"></a>
-<span class="sourceLineNo">2257</span>      while (keepLooping()) {<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>        sn = this.masterAddressTracker.getMasterAddress(refresh);<a name="line.2258"></a>
-<span class="sourceLineNo">2259</span>        if (sn == null) {<a name="line.2259"></a>
-<span class="sourceLineNo">2260</span>          if (!keepLooping()) {<a name="line.2260"></a>
-<span class="sourceLineNo">2261</span>            // give up with no connection.<a name="line.2261"></a>
-<span class="sourceLineNo">2262</span>            LOG.debug("No master found and cluster is stopped; bailing out");<a name="line.2262"></a>
-<span class="sourceLineNo">2263</span>            return null;<a name="line.2263"></a>
-<span class="sourceLineNo">2264</span>          }<a name="line.2264"></a>
-<span class="sourceLineNo">2265</span>          if (System.currentTimeMillis() &gt; (previousLogTime + 1000)) {<a name="line.2265"></a>
-<span class="sourceLineNo">2266</span>            LOG.debug("No master found; retry");<a name="line.2266"></a>
-<span class="sourceLineNo">2267</span>            previousLogTime = System.currentTimeMillis();<a name="line.2267"></a>
-<span class="sourceLineNo">2268</span>          }<a name="line.2268"></a>
-<span class="sourceLineNo">2269</span>          refresh = true; // let's try pull it from ZK directly<a name="line.2269"></a>
-<span class="sourceLineNo">2270</span>          if (sleep(200)) {<a name="line.2270"></a>
-<span class="sourceLineNo">2271</span>            interrupted = true;<a name="line.2271"></a>
-<span class="sourceLineNo">2272</span>          }<a name="line.2272"></a>
-<span class="sourceLineNo">2273</span>          continue;<a name="line.2273"></a>
-<span class="sourceLineNo">2274</span>        }<a name="line.2274"></a>
-<span class="sourceLineNo">2275</span><a name="line.2275"></a>
-<span class="sourceLineNo">2276</span>        // If we are on the active master, use the shortcut<a name="line.2276"></a>
-<span class="sourceLineNo">2277</span>        if (this instanceof HMaster &amp;&amp; sn.equals(getServerName())) {<a name="line.2277"></a>
-<span class="sourceLineNo">2278</span>          intf = ((HMaster)this).getMasterRpcServices();<a name="line.2278"></a>
-<span class="sourceLineNo">2279</span>          break;<a name="line.2279"></a>
-<span class="sourceLineNo">2280</span>        }<a name="line.2280"></a>
-<span class="sourceLineNo">2281</span>        try {<a name="line.2281"></a>
-<span class="sourceLineNo">2282</span>          BlockingRpcChannel channel =<a name="line.2282"></a>
-<span class="sourceLineNo">2283</span>            this.rpcClient.createBlockingRpcChannel(sn, userProvider.getCurrent(),<a name="line.2283"></a>
-<span class="sourceLineNo">2284</span>              shortOperationTimeout);<a name="line.2284"></a>
-<span class="sourceLineNo">2285</span>          intf = RegionServerStatusService.newBlockingStub(channel);<a name="line.2285"></a>
-<span class="sourceLineNo">2286</span>          break;<a name="line.2286"></a>
-<span class="sourceLineNo">2287</span>        } catch (IOException e) {<a name="line.2287"></a>
-<span class="sourceLineNo">2288</span>          if (System.currentTimeMillis() &gt; (previousLogTime + 1000)) {<a name="line.2288"></a>
-<span class="sourceLineNo">2289</span>            e = e instanceof RemoteException ?<a name="line.2289"></a>
-<span class="sourceLineNo">2290</span>              ((RemoteException)e).unwrapRemoteException() : e;<a name="line.2290"></a>
-<span class="sourceLineNo">2291</span>            if (e instanceof ServerNotRunningYetException) {<a name="line.2291"></a>
-<span class="sourceLineNo">2292</span>              LOG.info("Master isn't available yet, retrying");<a name="line.2292"></a>
-<span class="sourceLineNo">2293</span>            } else {<a name="line.2293"></a>
-<span class="sourceLineNo">2294</span>              LOG.warn("Unable to connect to master. Retrying. Error was:", e);<a name="line.2294"></a>
-<span class="sourceLineNo">2295</span>            }<a name="line.2295"></a>
-<span class="sourceLineNo">2296</span>            previousLogTime = System.currentTimeMillis();<a name="line.2296"></a>
-<span class="sourceLineNo">2297</span>          }<a name="line.2297"></a>
-<span class="sourceLineNo">2298</span>          if (sleep(200)) {<a name="line.2298"></a>
-<span class="sourceLineNo">2299</span>            interrupted = true;<a name="line.2299"></a>
-<span class="sourceLineNo">2300</span>          }<a name="line.2300"></a>
-<span class="sourceLineNo">2301</span>        }<a name="line.2301"></a>
-<span class="sourceLineNo">2302</span>      }<a name="line.2302"></a>
-<span class="sourceLineNo">2303</span>    } finally {<a name="line.2303"></a>
-<span class="sourceLineNo">2304</span>      if (interrupted) {<a name="line.2304"></a>
-<span class="sourceLineNo">2305</span>        Thread.currentThread().interrupt();<a name="line.2305"></a>
-<span class="sourceLineNo">2306</span>      }<a name="line.2306"></a>
-<span class="sourceLineNo">2307</span>    }<a name="line.2307"></a>
-<span class="sourceLineNo">2308</span>    rssStub = intf;<a name="line.2308"></a>
-<span class="sourceLineNo">2309</span>    return sn;<a name="line.2309"></a>
-<span class="sourceLineNo">2310</span>  }<a name="line.2310"></a>
-<span class="sourceLineNo">2311</span><a name="line.2311"></a>
-<span class="sourceLineNo">2312</span>  /**<a name="line.2312"></a>
-<span class="sourceLineNo">2313</span>   * @return True if we should break loop because cluster is going down or<a name="line.2313"></a>
-<span class="sourceLineNo">2314</span>   * this server has been stopped or hdfs has gone bad.<a name="line.2314"></a>
-<span class="sourceLineNo">2315</span>   */<a name="line.2315"></a>
-<span class="sourceLineNo">2316</span>  private boolean keepLooping() {<a name="line.2316"></a>
-<span class="sourceLineNo">2317</span>    return !this.stopped &amp;&amp; isClusterUp();<a name="line.2317"></a>
-<span class="sourceLineNo">2318</span>  }<a name="line.2318"></a>
-<span class="sourceLineNo">2319</span><a name="line.2319"></a>
-<span class="sourceLineNo">2320</span>  /*<a name="line.2320"></a>
-<span class="sourceLineNo">2321</span>   * Let the master know we're here Run initialization using parameters passed<a name="line.2321"></a>
-<span class="sourceLineNo">2322</span>   * us by the master.<a name="line.2322"></a>
-<span class="sourceLineNo">2323</span>   * @return A Map of key/value configurations we got from the Master else<a name="line.2323"></a>
-<span class="sourceLineNo">2324</span>   * null if we failed to register.<a name="line.2324"></a>
-<span class="sourceLineNo">2325</span>   * @throws IOException<a name="line.2325"></a>
-<span class="sourceLineNo">2326</span>   */<a name="line.2326"></a>
-<span class="sourceLineNo">2327</span>  private RegionServerStartupResponse reportForDuty() throws IOException {<a name="line.2327"></a>
-<span class="sourceLineNo">2328</span>    ServerName masterServerName = createRegionServerStatusStub();<a name="line.2328"></a>
-<span class="sourceLineNo">2329</span>    if (masterServerName == null) return null;<a name="line.2329"></a>
-<span class="sourceLineNo">2330</span>    RegionServerStartupResponse result = null;<a name="line.2330"></a>
-<span class="sourceLineNo">2331</span>    try {<a name="line.2331"></a>
-<span class="sourceLineNo">2332</span>      rpcServices.requestCount.set(0);<a name="line.2332"></a>
-<span class="sourceLineNo">2333</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2333"></a>
-<span class="sourceLineNo">2334</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2334"></a>
-<span class="sourceLineNo">2335</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2335"></a>
-<span class="sourceLineNo">2336</span>      int port = rpcServices.isa.getPort();<a name="line.2336"></a>
-<span class="sourceLineNo">2337</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2337"></a>
-<span class="sourceLineNo">2338</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2338"></a>
-<span class="sourceLineNo">2339</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2339"></a>
-<span class="sourceLineNo">2340</span>      }<a name="line.2340"></a>
-<span class="sourceLineNo">2341</span>      request.setPort(port);<a name="line.2341"></a>
-<span class="sourceLineNo">2342</span>      request.setServerStartCode(this.startcode);<a name="line.2342"></a>
-<span class="sourceLineNo">2343</span>      request.setServerCurrentTime(now);<a name="line.2343"></a>
-<span class="sourceLineNo">2344</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2344"></a>
-<span class="sourceLineNo">2345</span>    } catch (ServiceException se) {<a name="line.2345"></a>
-<span class="sourceLineNo">2346</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2346"></a>
-<span class="sourceLineNo">2347</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2347"></a>
-<span class="sourceLineNo">2348</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2348"></a>
-<span class="sourceLineNo">2349</span>        // Re-throw IOE will cause RS to abort<a name="line.2349"></a>
-<span class="sourceLineNo">2350</span>        throw ioe;<a name="line.2350"></a>
-<span class="sourceLineNo">2351</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2351"></a>
-<span class="sourceLineNo">2352</span>        LOG.debug("Master is not running yet");<a name="line.2352"></a>
-<span class="sourceLineNo">2353</span>      } else {<a name="line.2353"></a>
-<span class="sourceLineNo">2354</span>        LOG.warn("error telling master we are up", se);<a name="line.2354"></a>
-<span class="sourceLineNo">2355</span>      }<a name="line.2355"></a>
-<span class="sourceLineNo">2356</span>      rssStub = null;<a name="line.2356"></a>
-<span class="sourceLineNo">2357</span>    }<a name="line.2357"></a>
-<span class="sourceLineNo">2358</span>    return result;<a name="line.2358"></a>
-<span class="sourceLineNo">2359</span>  }<a name="line.2359"></a>
-<span class="sourceLineNo">2360</span><a name="line.2360"></a>
-<span class="sourceLineNo">2361</span>  @Override<a name="line.2361"></a>
-<span class="sourceLineNo">2362</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2362"></a>
-<span class="sourceLineNo">2363</span>    try {<a name="line.2363"></a>
-<span class="sourceLineNo">2364</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2365"></a>
-<span class="sourceLineNo">2366</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2366"></a>
-<span class="sourceLineNo">2367</span>      if (rss == null) { // Try to connect one more time<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>        createRegionServerStatusStub();<a name="line.2368"></a>
-<span class="sourceLineNo">2369</span>        rss = rssStub;<a name="line.2369"></a>
-<span class="sourceLineNo">2370</span>        if (rss == null) {<a name="line.2370"></a>
-<span class="sourceLineNo">2371</span>          // Still no luck, we tried<a name="line.2371"></a>
-<span class="sourceLineNo">2372</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2372"></a>
-<span class="sourceLineNo">2373</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>              .build();<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span>        }<a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>      }<a name="line.2376"></a>
-<span class="sourceLineNo">2377</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>    } catch (ServiceException e) {<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>          .build();<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>    }<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span>  }<a name="line.2386"></a>
-<span class="sourceLineNo">2387</span><a name="line.2387"></a>
-<span class="sourceLineNo">2388</span>  /**<a name="line.2388"></a>
-<span class="sourceLineNo">2389</span>   * Closes all regions.  Cal

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
index d03724e..658fe8f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
@@ -292,7951 +292,7969 @@
 <span class="sourceLineNo">284</span><a name="line.284"></a>
 <span class="sourceLineNo">285</span>  //Number of requests<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  final Counter readRequestsCount = new Counter();<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  final Counter writeRequestsCount = new Counter();<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  // Number of requests blocked by memstore size.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private final Counter blockedRequestsCount = new Counter();<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  // Compaction counters<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  final AtomicLong compactionsFinished = new AtomicLong(0L);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final AtomicLong compactionNumFilesCompacted = new AtomicLong(0L);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  final AtomicLong compactionNumBytesCompacted = new AtomicLong(0L);<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>  private final WAL wal;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  private final HRegionFileSystem fs;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  protected final Configuration conf;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  private final Configuration baseConf;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final int rowLockWaitDuration;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  private CompactedHFilesDischarger compactedFileDischarger;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  // The internal wait duration to acquire a lock before read/update<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  // we can release the IPC handler soon enough to improve the<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  // availability of the region server. It can be adjusted by<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  final long busyWaitDuration;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>  // If updating multiple rows in one call, wait longer,<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  // we can limit the max multiplier.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  final int maxBusyWaitMultiplier;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  final long maxBusyWaitDuration;<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  // negative number indicates infinite timeout<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * The sequence ID that was encountered when this region was opened.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * The default setting for whether to enable on-demand CF loading for<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * scan requests to this region. Requests can override it.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  //<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // are equal to or lower than maxSeqId for each store.<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  // The following map is populated when opening the region<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;byte[], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>  /** Saved state from replaying prepare flush cache */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  /**<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * Config setting for whether to allow writes when a region is in recovering or not.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   */<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private boolean disallowWritesInRecovering = false;<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>  // when a region is in recovering state, it can only accept writes not reads<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  private volatile boolean recovering = false;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>  /**<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * region. Writes older than this readPoint, are included in every<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * read operation.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  public long getSmallestReadPoint() {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    long minimumReadPoint;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    synchronized(scannerReadPoints) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>      for (Long readPoint: this.scannerReadPoints.values()) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          minimumReadPoint = readPoint;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return minimumReadPoint;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  /*<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * Data structure of write state flags used coordinating flushes,<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * compactions and closes.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  static class WriteState {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // Set while a memstore flush is happening.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    volatile boolean flushing = false;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // Set when a flush has been requested.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    volatile boolean flushRequested = false;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // Number of compactions running.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    volatile boolean writesEnabled = true;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // Set if region is read-only<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    volatile boolean readOnly = false;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    volatile boolean readsEnabled = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>    /**<a name="line.405"></a>
-<span class="sourceLineNo">406</span>     * Set flags that make this region read-only.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>     *<a name="line.407"></a>
-<span class="sourceLineNo">408</span>     * @param onOff flip value for region r/o setting<a name="line.408"></a>
-<span class="sourceLineNo">409</span>     */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      this.writesEnabled = !onOff;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      this.readOnly = onOff;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>    boolean isReadOnly() {<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return this.flushRequested;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    void setReadsEnabled(boolean readsEnabled) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      this.readsEnabled = readsEnabled;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  /**<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * if it didn't flush.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   */<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public static class FlushResultImpl implements FlushResult {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    final Result result;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    final String failureReason;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    final long flushSequenceId;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    final boolean wroteFlushWalMarker;<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    /**<a name="line.443"></a>
-<span class="sourceLineNo">444</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.444"></a>
-<span class="sourceLineNo">445</span>     * null.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.447"></a>
-<span class="sourceLineNo">448</span>     *                        memstores.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>     */<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      this(result, flushSequenceId, null, false);<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>     * Convenience constructor to use when we cannot flush.<a name="line.457"></a>
-<span class="sourceLineNo">458</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>     * @param failureReason Reason why we couldn't flush.<a name="line.459"></a>
-<span class="sourceLineNo">460</span>     */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>    /**<a name="line.466"></a>
-<span class="sourceLineNo">467</span>     * Constructor with all the parameters.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @param result Any of the Result.<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>     */<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      boolean wroteFlushMarker) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      this.result = result;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      this.flushSequenceId = flushSequenceId;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      this.failureReason = failureReason;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      this.wroteFlushWalMarker = wroteFlushMarker;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>    /**<a name="line.480"></a>
-<span class="sourceLineNo">481</span>     * Convenience method, the equivalent of checking if result is<a name="line.481"></a>
-<span class="sourceLineNo">482</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>     * @return true if the memstores were flushed, else false.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>     */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    @Override<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    public boolean isFlushSucceeded() {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.487"></a>
-<span class="sourceLineNo">488</span>          .FLUSHED_COMPACTION_NEEDED;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>    /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<a name="line.493"></a>
-<span class="sourceLineNo">494</span>     */<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    @Override<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    public boolean isCompactionNeeded() {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    }<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>    @Override<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    public String toString() {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      return new StringBuilder()<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        .append("flush result:").append(result).append(", ")<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        .append("flush seq id").append(flushSequenceId).toString();<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>    @Override<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    public Result getResult() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      return result;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  }<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span>  /** A result object from prepare flush cache stage */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  @VisibleForTesting<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  static class PrepareFlushResult {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    final FlushResult result; // indicating a failure result from prepare<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    final TreeMap&lt;byte[], Long&gt; storeFlushableSize;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    final long startTime;<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    final long flushOpSeqId;<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    final long flushedSeqId;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    final long totalFlushableSize;<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    /** Constructs an early exit case */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    PrepareFlushResult(FlushResult result, long flushSeqId) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, 0);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    }<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>    /** Constructs a successful prepare flush result */<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    PrepareFlushResult(<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        flushSeqId, flushedSeqId, totalFlushableSize);<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    }<a name="line.539"></a>
-<span class="sourceLineNo">540</span><a name="line.540"></a>
-<span class="sourceLineNo">541</span>    private PrepareFlushResult(<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      FlushResult result,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      TreeMap&lt;byte[], Long&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      long flushedSeqId, long totalFlushableSize) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      this.result = result;<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      this.committedFiles = committedFiles;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      this.startTime = startTime;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      this.flushOpSeqId = flushSeqId;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      this.flushedSeqId = flushedSeqId;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      this.totalFlushableSize = totalFlushableSize;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    }<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>    public FlushResult getResult() {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      return this.result;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  final WriteState writestate = new WriteState();<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  long memstoreFlushSize;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  final long timestampSlop;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  final long rowProcessorTimeout;<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  private final ConcurrentMap&lt;Store, Long&gt; lastStoreFlushTimeMap =<a name="line.569"></a>
-<span class="sourceLineNo">570</span>      new ConcurrentHashMap&lt;Store, Long&gt;();<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>  final RegionServerServices rsServices;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private RegionServerAccounting rsAccounting;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  private long flushCheckInterval;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.575"></a>
-<span class="sourceLineNo">576</span>  private long flushPerChanges;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  private long blockingMemStoreSize;<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  final long threadWakeFrequency;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  // Used to guard closes<a name="line.579"></a>
-<span class="sourceLineNo">580</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.580"></a>
-<span class="sourceLineNo">581</span><a name="line.581"></a>
-<span class="sourceLineNo">582</span>  // Stop updates lock<a name="line.582"></a>
-<span class="sourceLineNo">583</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.583"></a>
-<span class="sourceLineNo">584</span>  private boolean splitRequest;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>  private byte[] explicitSplitPoint = null;<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  // Coprocessor host<a name="line.589"></a>
-<span class="sourceLineNo">590</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.590"></a>
-<span class="sourceLineNo">591</span><a name="line.591"></a>
-<span class="sourceLineNo">592</span>  private HTableDescriptor htableDescriptor = null;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>  private RegionSplitPolicy splitPolicy;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  private FlushPolicy flushPolicy;<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>  private final MetricsRegion metricsRegion;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.597"></a>
-<span class="sourceLineNo">598</span>  private final Durability durability;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  private final boolean regionStatsEnabled;<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>  /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   *<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * usually the table directory.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * The wal file is a logfile from the previous execution that's<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * the supplied path.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param fs is the filesystem.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @param confParam is global configuration settings.<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @param regionInfo - HRegionInfo that describes the region<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * is new), then read them from the supplied path.<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param htd the table descriptor<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @deprecated Use other constructors.<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  @Deprecated<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  @VisibleForTesting<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      final Configuration confParam, final HRegionInfo regionInfo,<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.627"></a>
-<span class="sourceLineNo">628</span>      wal, confParam, htd, rsServices);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>  }<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>  /**<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   *<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * @param fs is the filesystem.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * The wal file is a logfile from the previous execution that's<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.640"></a>
-<span class="sourceLineNo">641</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   * the supplied path.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * @param confParam is global configuration settings.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @param htd the table descriptor<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      final HTableDescriptor htd, final RegionServerServices rsServices) {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    if (htd == null) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      throw new IllegalArgumentException("Need table descriptor");<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    }<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span>    if (confParam instanceof CompoundConfiguration) {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      throw new IllegalArgumentException("Need original base configuration");<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    }<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>    this.wal = wal;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    this.fs = fs;<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    this.baseConf = confParam;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    this.conf = new CompoundConfiguration()<a name="line.662"></a>
-<span class="sourceLineNo">663</span>      .add(confParam)<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      .addStringMap(htd.getConfiguration())<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      .addBytesMap(htd.getValues());<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.670"></a>
-<span class="sourceLineNo">671</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.673"></a>
-<span class="sourceLineNo">674</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.674"></a>
-<span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span>    this.maxWaitForSeqId = conf.getInt(MAX_WAIT_FOR_SEQ_ID_KEY, DEFAULT_MAX_WAIT_FOR_SEQ_ID);<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    this.htableDescriptor = htd;<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    this.rsServices = rsServices;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    this.threadWakeFrequency = conf.getLong(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    setHTableSpecificConf();<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;RegionScanner, Long&gt;();<a name="line.682"></a>
-<span class="sourceLineNo">683</span><a name="line.683"></a>
-<span class="sourceLineNo">684</span>    this.busyWaitDuration = conf.getLong(<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.688"></a>
-<span class="sourceLineNo">689</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.689"></a>
-<span class="sourceLineNo">690</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    }<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>    /*<a name="line.695"></a>
-<span class="sourceLineNo">696</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.698"></a>
-<span class="sourceLineNo">699</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.699"></a>
-<span class="sourceLineNo">700</span>     */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    this.timestampSlop = conf.getLong(<a name="line.701"></a>
-<span class="sourceLineNo">702</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        HConstants.LATEST_TIMESTAMP);<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>    /**<a name="line.705"></a>
-<span class="sourceLineNo">706</span>     * Timeout for the process time in processRowsWithLocks().<a name="line.706"></a>
-<span class="sourceLineNo">707</span>     * Use -1 to switch off time bound.<a name="line.707"></a>
-<span class="sourceLineNo">708</span>     */<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    this.durability = htd.getDurability() == Durability.USE_DEFAULT<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        ? DEFAULT_DURABILITY<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        : htd.getDurability();<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    if (rsServices != null) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>      Map&lt;String, Region&gt; recoveringRegions = rsServices.getRecoveringRegions();<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      String encodedName = getRegionInfo().getEncodedName();<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      if (recoveringRegions != null &amp;&amp; recoveringRegions.containsKey(encodedName)) {<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        this.recovering = true;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        recoveringRegions.put(encodedName, this);<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      }<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    } else {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.metricsRegionWrapper = null;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      this.metricsRegion = null;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    if (LOG.isDebugEnabled()) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      // Write out region name as string and its encoded name.<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      LOG.debug("Instantiated " + this);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>    }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>    // by default, we allow writes against a region when it's in recovering<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    this.disallowWritesInRecovering =<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        conf.getBoolean(HConstants.DISALLOW_WRITES_IN_RECOVERING,<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          HConstants.DEFAULT_DISALLOW_WRITES_IN_RECOVERING_CONFIG);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    configurationManager = Optional.absent();<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.744"></a>
-<span class="sourceLineNo">745</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.745"></a>
-<span class="sourceLineNo">746</span>          false :<a name="line.746"></a>
-<span class="sourceLineNo">747</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.747"></a>
-<span class="sourceLineNo">748</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  }<a name="line.749"></a>
-<span class="sourceLineNo">750</span><a name="line.750"></a>
-<span class="sourceLineNo">751</span>  void setHTableSpecificConf() {<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    if (this.htableDescriptor == null) return;<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.753"></a>
-<span class="sourceLineNo">754</span><a name="line.754"></a>
-<span class="sourceLineNo">755</span>    if (flushSize &lt;= 0) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.756"></a>
-<span class="sourceLineNo">757</span>        HTableDescriptor.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    this.memstoreFlushSize = flushSize;<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.760"></a>
-<span class="sourceLineNo">761</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  }<a name="line.763"></a>
-<span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>  /**<a name="line.765"></a>
-<span class="sourceLineNo">766</span>   * Initialize this region.<a name="line.766"></a>
-<span class="sourceLineNo">767</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * You should use createHRegion() or openHRegion()<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * @return What the next sequence (edit) id should be.<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * @throws IOException e<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   */<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  @Deprecated<a name="line.773"></a>
-<span class="sourceLineNo">774</span>  public long initialize() throws IOException {<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    return initialize(null);<a name="line.775"></a>
-<span class="sourceLineNo">776</span>  }<a name="line.776"></a>
-<span class="sourceLineNo">777</span><a name="line.777"></a>
-<span class="sourceLineNo">778</span>  /**<a name="line.778"></a>
-<span class="sourceLineNo">779</span>   * Initialize this region.<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   *<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * @return What the next sequence (edit) id should be.<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * @throws IOException e<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   */<a name="line.784"></a>
-<span class="sourceLineNo">785</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    long nextSeqId = -1;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    try {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.789"></a>
-<span class="sourceLineNo">790</span>      return nextSeqId;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    } finally {<a name="line.791"></a>
-<span class="sourceLineNo">792</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      // At least it will be 0 otherwise.<a name="line.793"></a>
-<span class="sourceLineNo">794</span>      if (nextSeqId == -1) {<a name="line.794"></a>
-<span class="sourceLineNo">795</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.795"></a>
-<span class="sourceLineNo">796</span>          " initialization.");<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      }<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span>  }<a name="line.799"></a>
-<span class="sourceLineNo">800</span><a name="line.800"></a>
-<span class="sourceLineNo">801</span>  private long initializeRegionInternals(final CancelableProgressable reporter,<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      final MonitoredTask status) throws IOException {<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    if (coprocessorHost != null) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      status.setStatus("Running coprocessor pre-open hook");<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      coprocessorHost.preOpen();<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    // Write HRI to a file in case we need to recover hbase:meta<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    status.setStatus("Writing region info on filesystem");<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    fs.checkRegionInfoOnFilesystem();<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    // Initialize all the HStores<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    status.setStatus("Initializing all the Stores");<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    long maxSeqId = initializeStores(reporter, status);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    this.mvcc.advanceTo(maxSeqId);<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    if (ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      // Recover any edits if available.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      maxSeqId = Math.max(maxSeqId,<a name="line.818"></a>
-<span class="sourceLineNo">819</span>        replayRecoveredEditsIfAny(this.fs.getRegionDir(), maxSeqIdInStores, reporter, status));<a name="line.819"></a>
-<span class="sourceLineNo">820</span>      // Make sure mvcc is up to max.<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.mvcc.advanceTo(maxSeqId);<a name="line.821"></a>
-<span class="sourceLineNo">822</span>    }<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    this.lastReplayedOpenRegionSeqId = maxSeqId;<a name="line.823"></a>
-<span class="sourceLineNo">824</span><a name="line.824"></a>
-<span class="sourceLineNo">825</span>    this.writestate.setReadOnly(ServerRegionReplicaUtil.isReadOnly(this));<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    this.writestate.flushRequested = false;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    this.writestate.compacting.set(0);<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span>    if (this.writestate.writesEnabled) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      // Remove temporary data left over from old regions<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      status.setStatus("Cleaning up temporary data from old regions");<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      fs.cleanupTempDir();<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
-<span class="sourceLineNo">834</span><a name="line.834"></a>
-<span class="sourceLineNo">835</span>    if (this.writestate.writesEnabled) {<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      status.setStatus("Cleaning up detritus from prior splits");<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      // Get rid of any splits or merges that were lost in-progress.  Clean out<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      // these directories here on open.  We may be opening a region that was<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      // being split but we crashed in the middle of it all.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>      fs.cleanupAnySplitDetritus();<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      fs.cleanupMergesDir();<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Initialize split policy<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    this.splitPolicy = RegionSplitPolicy.create(this, conf);<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span>    // Initialize flush policy<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    this.flushPolicy = FlushPolicyFactory.create(this, conf);<a name="line.848"></a>
-<span class="sourceLineNo">849</span><a name="line.849"></a>
-<span class="sourceLineNo">850</span>    long lastFlushTime = EnvironmentEdgeManager.currentTime();<a name="line.850"></a>
-<span class="sourceLineNo">851</span>    for (Store store: stores.values()) {<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      this.lastStoreFlushTimeMap.put(store, lastFlushTime);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>    // Use maximum of log sequenceid or that which was found in stores<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    // (particularly if no recovered edits, seqid will be -1).<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    long nextSeqid = maxSeqId;<a name="line.857"></a>
-<span class="sourceLineNo">858</span><a name="line.858"></a>
-<span class="sourceLineNo">859</span>    // In distributedLogReplay mode, we don't know the last change sequence number because region<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    // is opened before recovery completes. So we add a safety bumper to avoid new sequence number<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    // overlaps used sequence numbers<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (this.writestate.writesEnabled) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      nextSeqid = WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs<a name="line.863"></a>
-<span class="sourceLineNo">864</span>          .getRegionDir(), nextSeqid, (this.recovering ? (this.flushPerChanges + 10000000) : 1));<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    } else {<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      nextSeqid++;<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>    LOG.info("Onlined " + this.getRegionInfo().getShortNameToLog() +<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      "; next sequenceid=" + nextSeqid);<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    // A region can be reopened if failed a split; reset flags<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    this.closing.set(false);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    this.closed.set(false);<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    if (coprocessorHost != null) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      status.setStatus("Running coprocessor post-open hooks");<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      coprocessorHost.postOpen();<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    }<a name="line.879"></a>
-<span class="sourceLineNo">880</span><a name="line.880"></a>
-<span class="sourceLineNo">881</span>    status.markComplete("Region opened successfully");<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    return nextSeqid;<a name="line.882"></a>
-<span class="sourceLineNo">883</span>  }<a name="line.883"></a>
-<span class="sourceLineNo">884</span><a name="line.884"></a>
-<span class="sourceLineNo">885</span>  /**<a name="line.885"></a>
-<span class="sourceLineNo">886</span>   * Open all Stores.<a name="line.886"></a>
-<span class="sourceLineNo">887</span>   * @param reporter<a name="line.887"></a>
-<span class="sourceLineNo">888</span>   * @param status<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * @return Highest sequenceId found out in a Store.<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * @throws IOException<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   */<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  private long initializeStores(final CancelableProgressable reporter, MonitoredTask status)<a name="line.892"></a>
-<span class="sourceLineNo">893</span>  throws IOException {<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    // Load in all the HStores.<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    long maxSeqId = -1;<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    // initialized to -1 so that we pick up MemstoreTS from column families<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    long maxMemstoreTS = -1;<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    if (!htableDescriptor.getFamilies().isEmpty()) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      // initialize the thread pool for opening stores in parallel.<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      ThreadPoolExecutor storeOpenerThreadPool =<a name="line.902"></a>
-<span class="sourceLineNo">903</span>        getStoreOpenAndCloseThreadPool("StoreOpener-" + this.getRegionInfo().getShortNameToLog());<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      CompletionService&lt;HStore&gt; completionService =<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        new ExecutorCompletionService&lt;HStore&gt;(storeOpenerThreadPool);<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span>      // initialize each store in parallel<a name="line.907"></a>
-<span class="sourceLineNo">908</span>      for (final HColumnDescriptor family : htableDescriptor.getFamilies()) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        status.setStatus("Instantiating store for column family " + family);<a name="line.909"></a>
-<span class="sourceLineNo">910</span>        completionService.submit(new Callable&lt;HStore&gt;() {<a name="line.910"></a>
-<span class="sourceLineNo">911</span>          @Override<a name="line.911"></a>
-<span class="sourceLineNo">912</span>          public HStore call() throws IOException {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>            return instantiateHStore(family);<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>      boolean allStoresOpened = false;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>      try {<a name="line.918"></a>
-<span class="sourceLineNo">919</span>        for (int i = 0; i &lt; htableDescriptor.getFamilies().size(); i++) {<a name="line.919"></a>
-<span class="sourceLineNo">920</span>          Future&lt;HStore&gt; future = completionService.take();<a name="line.920"></a>
-<span class="sourceLineNo">921</span>          HStore store = future.get();<a name="line.921"></a>
-<span class="sourceLineNo">922</span>          this.stores.put(store.getFamily().getName(), store);<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>          long storeMaxSequenceId = store.getMaxSequenceId();<a name="line.924"></a>
-<span class="sourceLineNo">925</span>          maxSeqIdInStores.put(store.getColumnFamilyName().getBytes(),<a name="line.925"></a>
-<span class="sourceLineNo">926</span>              storeMaxSequenceId);<a name="line.926"></a>
-<span class="sourceLineNo">927</span>          if (maxSeqId == -1 || storeMaxSequenceId &gt; maxSeqId) {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>            maxSeqId = storeMaxSequenceId;<a name="line.928"></a>
-<span class="sourceLineNo">929</span>          }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>          long maxStoreMemstoreTS = store.getMaxMemstoreTS();<a name="line.930"></a>
-<span class="sourceLineNo">931</span>          if (maxStoreMemstoreTS &gt; maxMemstoreTS) {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>            maxMemstoreTS = maxStoreMemstoreTS;<a name="line.932"></a>
-<span class="sourceLineNo">933</span>          }<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        }<a name="line.934"></a>
-<span class="sourceLineNo">935</span>        allStoresOpened = true;<a name="line.935"></a>
-<span class="sourceLineNo">936</span>      } catch (InterruptedException e) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>        throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.937"></a>
-<span class="sourceLineNo">938</span>      } catch (ExecutionException e) {<a name="line.938"></a>
-<span class="sourceLineNo">939</span>        throw new IOException(e.getCause());<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      } finally {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>        storeOpenerThreadPool.shutdownNow();<a name="line.941"></a>
-<span class="sourceLineNo">942</span>        if (!allStoresOpened) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>          // something went wrong, close all opened stores<a name="line.943"></a>
-<span class="sourceLineNo">944</span>          LOG.error("Could not initialize all stores for the region=" + this);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>          for (Store store : this.stores.values()) {<a name="line.945"></a>
-<span class="sourceLineNo">946</span>            try {<a name="line.946"></a>
-<span class="sourceLineNo">947</span>              store.close();<a name="line.947"></a>
-<span class="sourceLineNo">948</span>            } catch (IOException e) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>              LOG.warn(e.getMessage());<a name="line.949"></a>
-<span class="sourceLineNo">950</span>            }<a name="line.950"></a>
-<span class="sourceLineNo">951</span>          }<a name="line.951"></a>
-<span class="sourceLineNo">952</span>        }<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      }<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    return Math.max(maxSeqId, maxMemstoreTS + 1);<a name="line.955"></a>
-<span class="sourceLineNo">956</span>  }<a name="line.956"></a>
-<span class="sourceLineNo">957</span><a name="line.957"></a>
-<span class="sourceLineNo">958</span>  private void initializeWarmup(final CancelableProgressable reporter) throws IOException {<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.959"></a>
-<span class="sourceLineNo">960</span><a name="line.960"></a>
-<span class="sourceLineNo">961</span>    // Initialize all the HStores<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    status.setStatus("Warming up all the Stores");<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    initializeStores(reporter, status);<a name="line.963"></a>
-<span class="sourceLineNo">964</span>  }<a name="line.964"></a>
-<span class="sourceLineNo">965</span><a name="line.965"></a>
-<span class="sourceLineNo">966</span>  /**<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   * @return Map of StoreFiles by column family<a name="line.967"></a>
-<span class="sourceLineNo">968</span>   */<a name="line.968"></a>
-<span class="sourceLineNo">969</span>  private NavigableMap&lt;byte[], List&lt;Path&gt;&gt; getStoreFiles() {<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    NavigableMap&lt;byte[], List&lt;Path&gt;&gt; allStoreFiles =<a name="line.970"></a>
-<span class="sourceLineNo">971</span>      new TreeMap&lt;byte[], List&lt;Path&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    for (Store store: getStores()) {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.973"></a>
-<span class="sourceLineNo">974</span>      if (storeFiles == null) continue;<a name="line.974"></a>
-<span class="sourceLineNo">975</span>      List&lt;Path&gt; storeFileNames = new ArrayList&lt;Path&gt;();<a name="line.975"></a>
-<span class="sourceLineNo">976</span>      for (StoreFile storeFile: storeFiles) {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>        storeFileNames.add(storeFile.getPath());<a name="line.977"></a>
-<span class="sourceLineNo">978</span>      }<a name="line.978"></a>
-<span class="sourceLineNo">979</span>      allStoreFiles.put(store.getFamily().getName(), storeFileNames);<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    }<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    return allStoreFiles;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>  }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>  private void writeRegionOpenMarker(WAL wal, long openSeqId) throws IOException {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    RegionEventDescriptor regionOpenDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      RegionEventDescriptor.EventType.REGION_OPEN, getRegionInfo(), openSeqId,<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.988"></a>
-<span class="sourceLineNo">989</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionOpenDesc, mvcc);<a name="line.989"></a>
-<span class="sourceLineNo">990</span>  }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>  private void writeRegionCloseMarker(WAL wal) throws IOException {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    RegionEventDescriptor regionEventDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.994"></a>
-<span class="sourceLineNo">995</span>      RegionEventDescriptor.EventType.REGION_CLOSE, getRegionInfo(), mvcc.getReadPoint(),<a name="line.995"></a>
-<span class="sourceLineNo">996</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    WALUtil.writeRegionEventMarker(wal, getTableDesc(), getRegionInfo(), regionEventDesc, mvcc);<a name="line.997"></a>
-<span class="sourceLineNo">998</span><a name="line.998"></a>
-<span class="sourceLineNo">999</span>    // Store SeqId in HDFS when a region closes<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    // checking region folder exists is due to many tests which delete the table folder while a<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    // table is still online<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    if (this.fs.getFileSystem().exists(this.fs.getRegionDir())) {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>      WALSplitter.writeRegionSequenceIdFile(this.fs.getFileSystem(), this.fs.getRegionDir(),<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>        mvcc.getReadPoint(), 0);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>    }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>  }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>  /**<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>   * @return True if this region has references.<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>   */<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>  public boolean hasReferences() {<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    for (Store store : this.stores.values()) {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      if (store.hasReferences()) return true;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>    return false;<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>  }<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span><a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  @Override<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>  public HDFSBlocksDistribution getHDFSBlocksDistribution() {<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      new HDFSBlocksDistribution();<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    synchronized (this.stores) {<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>      for (Store store : this.stores.values()) {<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>        Collection&lt;StoreFile&gt; storeFiles = store.getStorefiles();<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>        if (storeFiles == null) continue;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>        for (StoreFile sf : storeFiles) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>          HDFSBlocksDistribution storeFileBlocksDistribution =<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>            sf.getHDFSBlockDistribution();<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>          hdfsBlocksDistribution.add(storeFileBlocksDistribution);<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>    }<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>    return hdfsBlocksDistribution;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>  }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>  /**<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>   * @param conf configuration<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>   * @param regionInfo encoded name of the region<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>   * @throws IOException<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>   */<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo) throws IOException {<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    Path tablePath = FSUtils.getTableDir(FSUtils.getRootDir(conf), tableDescriptor.getTableName());<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>    return computeHDFSBlocksDistribution(conf, tableDescriptor, regionInfo, tablePath);<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  }<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span><a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  /**<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>   * @param conf configuration<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>   * @param tableDescriptor HTableDescriptor of the table<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * @param regionInfo encoded name of the region<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * @param tablePath the table directory<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>   * @throws IOException<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>   */<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(final Configuration conf,<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      final HTableDescriptor tableDescriptor, final HRegionInfo regionInfo,  Path tablePath)<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>      throws IOException {<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    HDFSBlocksDistribution hdfsBlocksDistribution = new HDFSBlocksDistribution();<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>    FileSystem fs = tablePath.getFileSystem(conf);<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span><a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    HRegionFileSystem regionFs = new HRegionFileSystem(conf, fs, tablePath, regionInfo);<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    for (HColumnDescriptor family: tableDescriptor.getFamilies()) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      Collection&lt;StoreFileInfo&gt; storeFiles = regionFs.getStoreFiles(family.getNameAsString());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>      if (storeFiles == null) continue;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>      for (StoreFileInfo storeFileInfo : storeFiles) {<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>        try {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>          hdfsBlocksDistribution.add(storeFileInfo.computeHDFSBlocksDistribution(fs));<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        } catch (IOException ioe) {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>          LOG.warn("Error getting hdfs block distribution for " + storeFileInfo);<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>        }<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    return hdfsBlocksDistribution;<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>  /**<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>   * Increase the size of mem store in this region and the size of global mem<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>   * store<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>   * @return the size of memstore in this region<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   */<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>  public long addAndGetGlobalMemstoreSize(long memStoreSize) {<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    if (this.rsAccounting != null) {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>      rsAccounting.addAndGetGlobalMemstoreSize(memStoreSize);<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>    }<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    return this.memstoreSize.addAndGet(memStoreSize);<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>  }<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span><a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>  @Override<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>  public HRegionInfo getRegionInfo() {<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>    return this.fs.getRegionInfo();<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>  }<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>   * @return Instance of {@link RegionServerServices} used by this HRegion.<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * Can be null.<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   */<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>  RegionServerServices getRegionServerServices() {<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    return this.rsServices;<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  }<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span><a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  @Override<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>  public long getReadRequestsCount() {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    return readRequestsCount.get();<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>  }<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span><a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>  @Override<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  public void updateReadRequestsCount(long i) {<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>    readRequestsCount.add(i);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  }<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  @Override<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>  public long getWriteRequestsCount() {<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    return writeRequestsCount.get();<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>  @Override<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public void updateWriteRequestsCount(long i) {<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    writeRequestsCount.add(i);<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  }<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span><a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  @Override<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  public long getMemstoreSize() {<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>    return memstoreSize.get();<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  }<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span><a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>  @Override<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  public long getNumMutationsWithoutWAL() {<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>    return numMutationsWithoutWAL.get();<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>  }<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>  @Override<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public long getDataInMemoryWithoutWAL() {<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    return dataInMemoryWithoutWAL.get();<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  }<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span><a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>  @Override<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  public long getBlockedRequestsCount() {<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>    return blockedRequestsCount.get();<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>  }<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span><a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>  @Override<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  public long getCheckAndMutateChecksPassed() {<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    return checkAndMutateChecksPassed.get();<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>  @Override<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>  public long getCheckAndMutateChecksFailed() {<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    return checkAndMutateChecksFailed.get();<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>  }<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span><a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  @Override<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>  public MetricsRegion getMetrics() {<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    return metricsRegion;<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>  }<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span><a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>  @Override<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public boolean isClosed() {<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>    return this.closed.get();<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  }<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span><a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  @Override<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  public boolean isClosing() {<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>    return this.closing.get();<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  }<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span><a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>  @Override<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>  public boolean isReadOnly() {<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>    return this.writestate.isReadOnly();<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>  }<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span><a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>  /**<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
index 4078580..b9f3a92 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
@@ -1526,1902 +1526,1903 @@
 <span class="sourceLineNo">1518</span>      .setTotalStaticIndexSizeKB(totalStaticIndexSizeKB)<a name="line.1518"></a>
 <span class="sourceLineNo">1519</span>      .setTotalStaticBloomSizeKB(totalStaticBloomSizeKB)<a name="line.1519"></a>
 <span class="sourceLineNo">1520</span>      .setReadRequestsCount(r.getReadRequestsCount())<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>      .setWriteRequestsCount(r.getWriteRequestsCount())<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>      .setTotalCompactingKVs(totalCompactingKVs)<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>      .setCurrentCompactedKVs(currentCompactedKVs)<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span>      .setDataLocality(dataLocality)<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>      .setLastMajorCompactionTs(r.getOldestHfileTs(true));<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span>    ((HRegion)r).setCompleteSequenceId(regionLoadBldr);<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span><a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>    return regionLoadBldr.build();<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>  }<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span><a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>  /**<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>   * @param encodedRegionName<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>   * @return An instance of RegionLoad.<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>   */<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>  public RegionLoad createRegionLoad(final String encodedRegionName) throws IOException {<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>    Region r = onlineRegions.get(encodedRegionName);<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span>    return r != null ? createRegionLoad(r, null, null) : null;<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>  /*<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>   * Inner class that runs on a long period checking if regions need compaction.<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span>   */<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>  private static class CompactionChecker extends ScheduledChore {<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>    private final HRegionServer instance;<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span>    private final int majorCompactPriority;<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>    private final static int DEFAULT_PRIORITY = Integer.MAX_VALUE;<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>    private long iteration = 0;<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span><a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>    CompactionChecker(final HRegionServer h, final int sleepTime,<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span>        final Stoppable stopper) {<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>      super("CompactionChecker", stopper, sleepTime);<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>      this.instance = h;<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span>      LOG.info(this.getName() + " runs every " + StringUtils.formatTime(sleepTime));<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span><a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>      /* MajorCompactPriority is configurable.<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>       * If not set, the compaction will use default priority.<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>       */<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>      this.majorCompactPriority = this.instance.conf.<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span>        getInt("hbase.regionserver.compactionChecker.majorCompactPriority",<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>        DEFAULT_PRIORITY);<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>    }<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span><a name="line.1562"></a>
-<span class="sourceLineNo">1563</span>    @Override<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>    protected void chore() {<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>      for (Region r : this.instance.onlineRegions.values()) {<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>        if (r == null)<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>          continue;<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>        for (Store s : r.getStores()) {<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span>          try {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>            long multiplier = s.getCompactionCheckMultiplier();<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span>            assert multiplier &gt; 0;<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>            if (iteration % multiplier != 0) continue;<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>            if (s.needsCompaction()) {<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>              // Queue a compaction. Will recognize if major is needed.<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>              this.instance.compactSplitThread.requestSystemCompaction(r, s, getName()<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span>                  + " requests compaction");<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>            } else if (s.isMajorCompaction()) {<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>              if (majorCompactPriority == DEFAULT_PRIORITY<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>                  || majorCompactPriority &gt; ((HRegion)r).getCompactPriority()) {<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>                this.instance.compactSplitThread.requestCompaction(r, s, getName()<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>                    + " requests major compaction; use default priority", null);<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>              } else {<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>                this.instance.compactSplitThread.requestCompaction(r, s, getName()<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>                    + " requests major compaction; use configured priority",<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>                  this.majorCompactPriority, null, null);<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>              }<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>            }<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>          } catch (IOException e) {<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span>            LOG.warn("Failed major compaction check on " + r, e);<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>          }<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>        }<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>      }<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>      iteration = (iteration == Long.MAX_VALUE) ? 0 : (iteration + 1);<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>    }<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>  }<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span><a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>  static class PeriodicMemstoreFlusher extends ScheduledChore {<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>    final HRegionServer server;<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>    final static int RANGE_OF_DELAY = 5 * 60 * 1000; // 5 min in milliseconds<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>    final static int MIN_DELAY_TIME = 0; // millisec<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>    public PeriodicMemstoreFlusher(int cacheFlushInterval, final HRegionServer server) {<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>      super(server.getServerName() + "-MemstoreFlusherChore", server, cacheFlushInterval);<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>      this.server = server;<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>    }<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span><a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>    @Override<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>    protected void chore() {<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>      final StringBuffer whyFlush = new StringBuffer();<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>      for (Region r : this.server.onlineRegions.values()) {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>        if (r == null) continue;<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>        if (((HRegion)r).shouldFlush(whyFlush)) {<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>          FlushRequester requester = server.getFlushRequester();<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>          if (requester != null) {<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>            long randomDelay = RandomUtils.nextInt(RANGE_OF_DELAY) + MIN_DELAY_TIME;<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span>            LOG.info(getName() + " requesting flush of " +<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>              r.getRegionInfo().getRegionNameAsString() + " because " +<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>              whyFlush.toString() +<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>              " after random delay " + randomDelay + "ms");<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>            //Throttle the flushes by putting a delay. If we don't throttle, and there<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>            //is a balanced write-load on the regions in a table, we might end up<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>            //overwhelming the filesystem with too many flushes at once.<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>            requester.requestDelayedFlush(r, randomDelay, false);<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>          }<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>        }<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>      }<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><a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>  /**<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>   * Report the status of the server. A server is online once all the startup is<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>   * completed (setting up filesystem, starting service threads, etc.). This<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>   * method is designed mostly to be useful in tests.<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>   *<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>   * @return true if online, false if not.<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>   */<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>  public boolean isOnline() {<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>    return online.get();<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>  }<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span><a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>  /**<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>   * Setup WAL log and replication if enabled.<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>   * Replication setup is done in here because it wants to be hooked up to WAL.<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>   * @return A WAL instance.<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>   * @throws IOException<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>   */<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>  private WALFactory setupWALAndReplication() throws IOException {<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>    // TODO Replication make assumptions here based on the default filesystem impl<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>    final Path oldLogDir = new Path(rootDir, HConstants.HREGION_OLDLOGDIR_NAME);<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>    final String logName = DefaultWALProvider.getWALDirectoryName(this.serverName.toString());<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span><a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>    Path logdir = new Path(rootDir, logName);<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>    if (LOG.isDebugEnabled()) LOG.debug("logdir=" + logdir);<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>    if (this.fs.exists(logdir)) {<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>      throw new RegionServerRunningException("Region server has already " +<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>        "created directory at " + this.serverName.toString());<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>    }<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span><a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>    // Instantiate replication manager if replication enabled.  Pass it the<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>    // log directories.<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>    createNewReplicationInstance(conf, this, this.fs, logdir, oldLogDir);<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span><a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>    // listeners the wal factory will add to wals it creates.<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>    final List&lt;WALActionsListener&gt; listeners = new ArrayList&lt;WALActionsListener&gt;();<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>    listeners.add(new MetricsWAL());<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>    if (this.replicationSourceHandler != null &amp;&amp;<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>        this.replicationSourceHandler.getWALActionsListener() != null) {<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>      // Replication handler is an implementation of WALActionsListener.<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>      listeners.add(this.replicationSourceHandler.getWALActionsListener());<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>    }<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span><a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>    return new WALFactory(conf, listeners, serverName.toString());<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>  }<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span><a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>  /**<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>   * We initialize the roller for the wal that handles meta lazily<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>   * since we don't know if this regionserver will handle it. All calls to<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>   * this method return a reference to the that same roller. As newly referenced<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>   * meta regions are brought online, they will be offered to the roller for maintenance.<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>   * As a part of that registration process, the roller will add itself as a<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>   * listener on the wal.<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>   */<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>  protected LogRoller ensureMetaWALRoller() {<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>    // Using a tmp log roller to ensure metaLogRoller is alive once it is not<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>    // null<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>    LogRoller roller = metawalRoller.get();<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>    if (null == roller) {<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>      LogRoller tmpLogRoller = new LogRoller(this, this);<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>      String n = Thread.currentThread().getName();<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>      Threads.setDaemonThreadRunning(tmpLogRoller.getThread(),<a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>          n + "-MetaLogRoller", uncaughtExceptionHandler);<a name="line.1690"></a>
-<span class="sourceLineNo">1691</span>      if (metawalRoller.compareAndSet(null, tmpLogRoller)) {<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span>        roller = tmpLogRoller;<a name="line.1692"></a>
-<span class="sourceLineNo">1693</span>      } else {<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span>        // Another thread won starting the roller<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>        Threads.shutdown(tmpLogRoller.getThread());<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span>        roller = metawalRoller.get();<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>      }<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>    }<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span>    return roller;<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>  }<a name="line.1700"></a>
-<span class="sourceLineNo">1701</span><a name="line.1701"></a>
-<span class="sourceLineNo">1702</span>  public MetricsRegionServer getRegionServerMetrics() {<a name="line.1702"></a>
-<span class="sourceLineNo">1703</span>    return this.metricsRegionServer;<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span>  }<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span><a name="line.1705"></a>
-<span class="sourceLineNo">1706</span>  /**<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span>   * @return Master address tracker instance.<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span>   */<a name="line.1708"></a>
-<span class="sourceLineNo">1709</span>  public MasterAddressTracker getMasterAddressTracker() {<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>    return this.masterAddressTracker;<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span>  }<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span><a name="line.1712"></a>
-<span class="sourceLineNo">1713</span>  /*<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span>   * Start maintenance Threads, Server, Worker and lease checker threads.<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>   * Install an UncaughtExceptionHandler that calls abort of RegionServer if we<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span>   * get an unhandled exception. We cannot set the handler on all threads.<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span>   * Server's internal Listener thread is off limits. For Server, if an OOME, it<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span>   * waits a while then retries. Meantime, a flush or a compaction that tries to<a name="line.1718"></a>
-<span class="sourceLineNo">1719</span>   * run should trigger same critical condition and the shutdown will run. On<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>   * its way out, this server will shut down Server. Leases are sort of<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span>   * inbetween. It has an internal thread that while it inherits from Chore, it<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span>   * keeps its own internal stop mechanism so needs to be stopped by this<a name="line.1722"></a>
-<span class="sourceLineNo">1723</span>   * hosting server. Worker logs the exception and exits.<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span>   */<a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>  private void startServiceThreads() throws IOException {<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span>    // Start executor services<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span>    this.service.startExecutorService(ExecutorType.RS_OPEN_REGION,<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span>      conf.getInt("hbase.regionserver.executor.openregion.threads", 3));<a name="line.1728"></a>
-<span class="sourceLineNo">1729</span>    this.service.startExecutorService(ExecutorType.RS_OPEN_META,<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>      conf.getInt("hbase.regionserver.executor.openmeta.threads", 1));<a name="line.1730"></a>
-<span class="sourceLineNo">1731</span>    this.service.startExecutorService(ExecutorType.RS_CLOSE_REGION,<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span>      conf.getInt("hbase.regionserver.executor.closeregion.threads", 3));<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span>    this.service.startExecutorService(ExecutorType.RS_CLOSE_META,<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span>      conf.getInt("hbase.regionserver.executor.closemeta.threads", 1));<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>    if (conf.getBoolean(StoreScanner.STORESCANNER_PARALLEL_SEEK_ENABLE, false)) {<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span>      this.service.startExecutorService(ExecutorType.RS_PARALLEL_SEEK,<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span>        conf.getInt("hbase.storescanner.parallel.seek.threads", 10));<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span>    }<a name="line.1738"></a>
-<span class="sourceLineNo">1739</span>    this.service.startExecutorService(ExecutorType.RS_LOG_REPLAY_OPS, conf.getInt(<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>       "hbase.regionserver.wal.max.splitters", SplitLogWorkerCoordination.DEFAULT_MAX_SPLITTERS));<a name="line.1740"></a>
-<span class="sourceLineNo">1741</span>    // Start the threads for compacted files discharger<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span>    this.service.startExecutorService(ExecutorType.RS_COMPACTED_FILES_DISCHARGER,<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span>      conf.getInt(CompactionConfiguration.HBASE_HFILE_COMPACTION_DISCHARGER_THREAD_COUNT, 10));<a name="line.1743"></a>
-<span class="sourceLineNo">1744</span>    if (ServerRegionReplicaUtil.isRegionReplicaWaitForPrimaryFlushEnabled(conf)) {<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span>      this.service.startExecutorService(ExecutorType.RS_REGION_REPLICA_FLUSH_OPS,<a name="line.1745"></a>
-<span class="sourceLineNo">1746</span>        conf.getInt("hbase.regionserver.region.replica.flusher.threads",<a name="line.1746"></a>
-<span class="sourceLineNo">1747</span>          conf.getInt("hbase.regionserver.executor.openregion.threads", 3)));<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span>    }<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span><a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>    Threads.setDaemonThreadRunning(this.walRoller.getThread(), getName() + ".logRoller",<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span>        uncaughtExceptionHandler);<a name="line.1751"></a>
-<span class="sourceLineNo">1752</span>    this.cacheFlusher.start(uncaughtExceptionHandler);<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span><a name="line.1753"></a>
-<span class="sourceLineNo">1754</span>    if (this.compactionChecker != null) choreService.scheduleChore(compactionChecker);<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>    if (this.periodicFlusher != null) choreService.scheduleChore(periodicFlusher);<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span>    if (this.healthCheckChore != null) choreService.scheduleChore(healthCheckChore);<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span>    if (this.nonceManagerChore != null) choreService.scheduleChore(nonceManagerChore);<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span>    if (this.storefileRefresher != null) choreService.scheduleChore(storefileRefresher);<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span>    if (this.movedRegionsCleaner != null) choreService.scheduleChore(movedRegionsCleaner);<a name="line.1759"></a>
-<span class="sourceLineNo">1760</span><a name="line.1760"></a>
-<span class="sourceLineNo">1761</span>    // Leases is not a Thread. Internally it runs a daemon thread. If it gets<a name="line.1761"></a>
-<span class="sourceLineNo">1762</span>    // an unhandled exception, it will just exit.<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span>    Threads.setDaemonThreadRunning(this.leases.getThread(), getName() + ".leaseChecker",<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span>      uncaughtExceptionHandler);<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span><a name="line.1765"></a>
-<span class="sourceLineNo">1766</span>    if (this.replicationSourceHandler == this.replicationSinkHandler &amp;&amp;<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span>        this.replicationSourceHandler != null) {<a name="line.1767"></a>
-<span class="sourceLineNo">1768</span>      this.replicationSourceHandler.startReplicationService();<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span>    } else {<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span>      if (this.replicationSourceHandler != null) {<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span>        this.replicationSourceHandler.startReplicationService();<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span>      }<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span>      if (this.replicationSinkHandler != null) {<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span>        this.replicationSinkHandler.startReplicationService();<a name="line.1774"></a>
-<span class="sourceLineNo">1775</span>      }<a name="line.1775"></a>
-<span class="sourceLineNo">1776</span>    }<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span><a name="line.1777"></a>
-<span class="sourceLineNo">1778</span>    // Create the log splitting worker and start it<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span>    // set a smaller retries to fast fail otherwise splitlogworker could be blocked for<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span>    // quite a while inside HConnection layer. The worker won't be available for other<a name="line.1780"></a>
-<span class="sourceLineNo">1781</span>    // tasks even after current task is preempted after a split task times out.<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span>    Configuration sinkConf = HBaseConfiguration.create(conf);<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span>    sinkConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.1783"></a>
-<span class="sourceLineNo">1784</span>      conf.getInt("hbase.log.replay.retries.number", 8)); // 8 retries take about 23 seconds<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span>    sinkConf.setInt(HConstants.HBASE_RPC_TIMEOUT_KEY,<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span>      conf.getInt("hbase.log.replay.rpc.timeout", 30000)); // default 30 seconds<a name="line.1786"></a>
-<span class="sourceLineNo">1787</span>    sinkConf.setInt("hbase.client.serverside.retries.multiplier", 1);<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span>    this.splitLogWorker = new SplitLogWorker(this, sinkConf, this, this, walFactory);<a name="line.1788"></a>
-<span class="sourceLineNo">1789</span>    splitLogWorker.start();<a name="line.1789"></a>
-<span class="sourceLineNo">1790</span>  }<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span><a name="line.1791"></a>
-<span class="sourceLineNo">1792</span>  /**<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span>   * Puts up the webui.<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span>   * @return Returns final port -- maybe different from what we started with.<a name="line.1794"></a>
-<span class="sourceLineNo">1795</span>   * @throws IOException<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span>   */<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span>  private int putUpWebUI() throws IOException {<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span>    int port = this.conf.getInt(HConstants.REGIONSERVER_INFO_PORT,<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span>      HConstants.DEFAULT_REGIONSERVER_INFOPORT);<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span>    String addr = this.conf.get("hbase.regionserver.info.bindAddress", "0.0.0.0");<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span><a name="line.1801"></a>
-<span class="sourceLineNo">1802</span>    if(this instanceof HMaster) {<a name="line.1802"></a>
-<span class="sourceLineNo">1803</span>      port = conf.getInt(HConstants.MASTER_INFO_PORT,<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span>          HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.1804"></a>
-<span class="sourceLineNo">1805</span>      addr = this.conf.get("hbase.master.info.bindAddress", "0.0.0.0");<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span>    }<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span>    // -1 is for disabling info server<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span>    if (port &lt; 0) return port;<a name="line.1808"></a>
-<span class="sourceLineNo">1809</span><a name="line.1809"></a>
-<span class="sourceLineNo">1810</span>    if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {<a name="line.1810"></a>
-<span class="sourceLineNo">1811</span>      String msg =<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span>          "Failed to start http info server. Address " + addr<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span>              + " does not belong to this host. Correct configuration parameter: "<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span>              + "hbase.regionserver.info.bindAddress";<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span>      LOG.error(msg);<a name="line.1815"></a>
-<span class="sourceLineNo">1816</span>      throw new IOException(msg);<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span>    }<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span>    // check if auto port bind enabled<a name="line.1818"></a>
-<span class="sourceLineNo">1819</span>    boolean auto = this.conf.getBoolean(HConstants.REGIONSERVER_INFO_PORT_AUTO,<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span>        false);<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span>    while (true) {<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span>      try {<a name="line.1822"></a>
-<span class="sourceLineNo">1823</span>        this.infoServer = new InfoServer(getProcessName(), addr, port, false, this.conf);<a name="line.1823"></a>
-<span class="sourceLineNo">1824</span>        infoServer.addServlet("dump", "/dump", getDumpServlet());<a name="line.1824"></a>
-<span class="sourceLineNo">1825</span>        configureInfoServer();<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span>        this.infoServer.start();<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span>        break;<a name="line.1827"></a>
-<span class="sourceLineNo">1828</span>      } catch (BindException e) {<a name="line.1828"></a>
-<span class="sourceLineNo">1829</span>        if (!auto) {<a name="line.1829"></a>
-<span class="sourceLineNo">1830</span>          // auto bind disabled throw BindException<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span>          LOG.error("Failed binding http info server to port: " + port);<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span>          throw e;<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span>        }<a name="line.1833"></a>
-<span class="sourceLineNo">1834</span>        // auto bind enabled, try to use another port<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span>        LOG.info("Failed binding http info server to port: " + port);<a name="line.1835"></a>
-<span class="sourceLineNo">1836</span>        port++;<a name="line.1836"></a>
-<span class="sourceLineNo">1837</span>      }<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span>    }<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span>    port = this.infoServer.getPort();<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span>    conf.setInt(HConstants.REGIONSERVER_INFO_PORT, port);<a name="line.1840"></a>
-<span class="sourceLineNo">1841</span>    int masterInfoPort = conf.getInt(HConstants.MASTER_INFO_PORT,<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span>      HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span>    conf.setInt("hbase.master.info.port.orig", masterInfoPort);<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span>    conf.setInt(HConstants.MASTER_INFO_PORT, port);<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span>    return port;<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span>  }<a name="line.1846"></a>
-<span class="sourceLineNo">1847</span><a name="line.1847"></a>
-<span class="sourceLineNo">1848</span>  /*<a name="line.1848"></a>
-<span class="sourceLineNo">1849</span>   * Verify that server is healthy<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span>   */<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span>  private boolean isHealthy() {<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span>    if (!fsOk) {<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span>      // File system problem<a name="line.1853"></a>
-<span class="sourceLineNo">1854</span>      return false;<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span>    }<a name="line.1855"></a>
-<span class="sourceLineNo">1856</span>    // Verify that all threads are alive<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span>    if (!(leases.isAlive()<a name="line.1857"></a>
-<span class="sourceLineNo">1858</span>        &amp;&amp; cacheFlusher.isAlive() &amp;&amp; walRoller.isAlive()<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span>        &amp;&amp; this.compactionChecker.isScheduled()<a name="line.1859"></a>
-<span class="sourceLineNo">1860</span>        &amp;&amp; this.periodicFlusher.isScheduled())) {<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span>      stop("One or more threads are no longer alive -- stop");<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span>      return false;<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span>    }<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span>    final LogRoller metawalRoller = this.metawalRoller.get();<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span>    if (metawalRoller != null &amp;&amp; !metawalRoller.isAlive()) {<a name="line.1865"></a>
-<span class="sourceLineNo">1866</span>      stop("Meta WAL roller thread is no longer alive -- stop");<a name="line.1866"></a>
-<span class="sourceLineNo">1867</span>      return false;<a name="line.1867"></a>
-<span class="sourceLineNo">1868</span>    }<a name="line.1868"></a>
-<span class="sourceLineNo">1869</span>    return true;<a name="line.1869"></a>
-<span class="sourceLineNo">1870</span>  }<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span><a name="line.1871"></a>
-<span class="sourceLineNo">1872</span>  private static final byte[] UNSPECIFIED_REGION = new byte[]{};<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span><a name="line.1873"></a>
-<span class="sourceLineNo">1874</span>  @Override<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span>  public WAL getWAL(HRegionInfo regionInfo) throws IOException {<a name="line.1875"></a>
-<span class="sourceLineNo">1876</span>    WAL wal;<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span>    LogRoller roller = walRoller;<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span>    //_ROOT_ and hbase:meta regions have separate WAL.<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span>    if (regionInfo != null &amp;&amp; regionInfo.isMetaTable() &amp;&amp;<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span>        regionInfo.getReplicaId() == HRegionInfo.DEFAULT_REPLICA_ID) {<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span>      roller = ensureMetaWALRoller();<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span>      wal = walFactory.getMetaWAL(regionInfo.getEncodedNameAsBytes());<a name="line.1882"></a>
-<span class="sourceLineNo">1883</span>    } else if (regionInfo == null) {<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span>      wal = walFactory.getWAL(UNSPECIFIED_REGION, null);<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span>    } else {<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span>      byte[] namespace = regionInfo.getTable().getNamespace();<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span>      wal = walFactory.getWAL(regionInfo.getEncodedNameAsBytes(), namespace);<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span>    }<a name="line.1888"></a>
-<span class="sourceLineNo">1889</span>    roller.addWAL(wal);<a name="line.1889"></a>
-<span class="sourceLineNo">1890</span>    return wal;<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span>  }<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span><a name="line.1892"></a>
-<span class="sourceLineNo">1893</span>  @Override<a name="line.1893"></a>
-<span class="sourceLineNo">1894</span>  public Connection getConnection() {<a name="line.1894"></a>
-<span class="sourceLineNo">1895</span>    return getClusterConnection();<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>  @Override<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>  public ClusterConnection getClusterConnection() {<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>    return this.clusterConnection;<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>  }<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span><a name="line.1902"></a>
-<span class="sourceLineNo">1903</span>  @Override<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>  public MetaTableLocator getMetaTableLocator() {<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>    return this.metaTableLocator;<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>  }<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span><a name="line.1907"></a>
-<span class="sourceLineNo">1908</span>  @Override<a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>  public void stop(final String msg) {<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>    if (!this.stopped) {<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>      try {<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>        if (this.rsHost != null) {<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>          this.rsHost.preStop(msg);<a name="line.1913"></a>
-<span class="sourceLineNo">1914</span>        }<a name="line.1914"></a>
-<span class="sourceLineNo">1915</span>        this.stopped = true;<a name="line.1915"></a>
-<span class="sourceLineNo">1916</span>        LOG.info("STOPPED: " + msg);<a name="line.1916"></a>
-<span class="sourceLineNo">1917</span>        // Wakes run() if it is sleeping<a name="line.1917"></a>
-<span class="sourceLineNo">1918</span>        sleeper.skipSleepCycle();<a name="line.1918"></a>
-<span class="sourceLineNo">1919</span>      } catch (IOException exp) {<a name="line.1919"></a>
-<span class="sourceLineNo">1920</span>        LOG.warn("The region server did not stop", exp);<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>  }<a name="line.1923"></a>
-<span class="sourceLineNo">1924</span><a name="line.1924"></a>
-<span class="sourceLineNo">1925</span>  public void waitForServerOnline(){<a name="line.1925"></a>
-<span class="sourceLineNo">1926</span>    while (!isStopped() &amp;&amp; !isOnline()) {<a name="line.1926"></a>
-<span class="sourceLineNo">1927</span>      synchronized (online) {<a name="line.1927"></a>
-<span class="sourceLineNo">1928</span>        try {<a name="line.1928"></a>
-<span class="sourceLineNo">1929</span>          online.wait(msgInterval);<a name="line.1929"></a>
-<span class="sourceLineNo">1930</span>        } catch (InterruptedException ie) {<a name="line.1930"></a>
-<span class="sourceLineNo">1931</span>          Thread.currentThread().interrupt();<a name="line.1931"></a>
-<span class="sourceLineNo">1932</span>          break;<a name="line.1932"></a>
-<span class="sourceLineNo">1933</span>        }<a name="line.1933"></a>
-<span class="sourceLineNo">1934</span>      }<a name="line.1934"></a>
-<span class="sourceLineNo">1935</span>    }<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 void postOpenDeployTasks(final Region r) throws KeeperException, IOException {<a name="line.1939"></a>
-<span class="sourceLineNo">1940</span>    postOpenDeployTasks(new PostOpenDeployContext(r, -1));<a name="line.1940"></a>
-<span class="sourceLineNo">1941</span>  }<a name="line.1941"></a>
-<span class="sourceLineNo">1942</span><a name="line.1942"></a>
-<span class="sourceLineNo">1943</span>  @Override<a name="line.1943"></a>
-<span class="sourceLineNo">1944</span>  public void postOpenDeployTasks(final PostOpenDeployContext context)<a name="line.1944"></a>
-<span class="sourceLineNo">1945</span>      throws KeeperException, IOException {<a name="line.1945"></a>
-<span class="sourceLineNo">1946</span>    Region r = context.getRegion();<a name="line.1946"></a>
-<span class="sourceLineNo">1947</span>    long masterSystemTime = context.getMasterSystemTime();<a name="line.1947"></a>
-<span class="sourceLineNo">1948</span>    Preconditions.checkArgument(r instanceof HRegion, "r must be an HRegion");<a name="line.1948"></a>
-<span class="sourceLineNo">1949</span>    rpcServices.checkOpen();<a name="line.1949"></a>
-<span class="sourceLineNo">1950</span>    LOG.info("Post open deploy tasks for " + r.getRegionInfo().getRegionNameAsString());<a name="line.1950"></a>
-<span class="sourceLineNo">1951</span>    // Do checks to see if we need to compact (references or too many files)<a name="line.1951"></a>
-<span class="sourceLineNo">1952</span>    for (Store s : r.getStores()) {<a name="line.1952"></a>
-<span class="sourceLineNo">1953</span>      if (s.hasReferences() || s.needsCompaction()) {<a name="line.1953"></a>
-<span class="sourceLineNo">1954</span>       this.compactSplitThread.requestSystemCompaction(r, s, "Opening Region");<a name="line.1954"></a>
-<span class="sourceLineNo">1955</span>      }<a name="line.1955"></a>
-<span class="sourceLineNo">1956</span>    }<a name="line.1956"></a>
-<span class="sourceLineNo">1957</span>    long openSeqNum = r.getOpenSeqNum();<a name="line.1957"></a>
-<span class="sourceLineNo">1958</span>    if (openSeqNum == HConstants.NO_SEQNUM) {<a name="line.1958"></a>
-<span class="sourceLineNo">1959</span>      // If we opened a region, we should have read some sequence number from it.<a name="line.1959"></a>
-<span class="sourceLineNo">1960</span>      LOG.error("No sequence number found when opening " +<a name="line.1960"></a>
-<span class="sourceLineNo">1961</span>        r.getRegionInfo().getRegionNameAsString());<a name="line.1961"></a>
-<span class="sourceLineNo">1962</span>      openSeqNum = 0;<a name="line.1962"></a>
-<span class="sourceLineNo">1963</span>    }<a name="line.1963"></a>
-<span class="sourceLineNo">1964</span><a name="line.1964"></a>
-<span class="sourceLineNo">1965</span>    // Update flushed sequence id of a recovering region in ZK<a name="line.1965"></a>
-<span class="sourceLineNo">1966</span>    updateRecoveringRegionLastFlushedSequenceId(r);<a name="line.1966"></a>
-<span class="sourceLineNo">1967</span><a name="line.1967"></a>
-<span class="sourceLineNo">1968</span>    // Notify master<a name="line.1968"></a>
-<span class="sourceLineNo">1969</span>    if (!reportRegionStateTransition(new RegionStateTransitionContext(<a name="line.1969"></a>
-<span class="sourceLineNo">1970</span>        TransitionCode.OPENED, openSeqNum, masterSystemTime, r.getRegionInfo()))) {<a name="line.1970"></a>
-<span class="sourceLineNo">1971</span>      throw new IOException("Failed to report opened region to master: "<a name="line.1971"></a>
-<span class="sourceLineNo">1972</span>        + r.getRegionInfo().getRegionNameAsString());<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>    triggerFlushInPrimaryRegion((HRegion)r);<a name="line.1975"></a>
-<span class="sourceLineNo">1976</span><a name="line.1976"></a>
-<span class="sourceLineNo">1977</span>    LOG.debug("Finished post open deploy task for " + r.getRegionInfo().getRegionNameAsString());<a name="line.1977"></a>
-<span class="sourceLineNo">1978</span>  }<a name="line.1978"></a>
-<span class="sourceLineNo">1979</span><a name="line.1979"></a>
-<span class="sourceLineNo">1980</span>  @Override<a name="line.1980"></a>
-<span class="sourceLineNo">1981</span>  public boolean reportRegionStateTransition(TransitionCode code, HRegionInfo... hris) {<a name="line.1981"></a>
-<span class="sourceLineNo">1982</span>    return reportRegionStateTransition(code, HConstants.NO_SEQNUM, hris);<a name="line.1982"></a>
-<span class="sourceLineNo">1983</span>  }<a name="line.1983"></a>
-<span class="sourceLineNo">1984</span><a name="line.1984"></a>
-<span class="sourceLineNo">1985</span>  @Override<a name="line.1985"></a>
-<span class="sourceLineNo">1986</span>  public boolean reportRegionStateTransition(<a name="line.1986"></a>
-<span class="sourceLineNo">1987</span>      TransitionCode code, long openSeqNum, HRegionInfo... hris) {<a name="line.1987"></a>
-<span class="sourceLineNo">1988</span>    return reportRegionStateTransition(<a name="line.1988"></a>
-<span class="sourceLineNo">1989</span>      new RegionStateTransitionContext(code, HConstants.NO_SEQNUM, -1, hris));<a name="line.1989"></a>
-<span class="sourceLineNo">1990</span>  }<a name="line.1990"></a>
-<span class="sourceLineNo">1991</span><a name="line.1991"></a>
-<span class="sourceLineNo">1992</span>  @Override<a name="line.1992"></a>
-<span class="sourceLineNo">1993</span>  public boolean reportRegionStateTransition(final RegionStateTransitionContext context) {<a name="line.1993"></a>
-<span class="sourceLineNo">1994</span>    TransitionCode code = context.getCode();<a name="line.1994"></a>
-<span class="sourceLineNo">1995</span>    long openSeqNum = context.getOpenSeqNum();<a name="line.1995"></a>
-<span class="sourceLineNo">1996</span>    long masterSystemTime = context.getMasterSystemTime();<a name="line.1996"></a>
-<span class="sourceLineNo">1997</span>    HRegionInfo[] hris = context.getHris();<a name="line.1997"></a>
-<span class="sourceLineNo">1998</span><a name="line.1998"></a>
-<span class="sourceLineNo">1999</span>    if (TEST_SKIP_REPORTING_TRANSITION) {<a name="line.1999"></a>
-<span class="sourceLineNo">2000</span>      // This is for testing only in case there is no master<a name="line.2000"></a>
-<span class="sourceLineNo">2001</span>      // to handle the region transition report at all.<a name="line.2001"></a>
-<span class="sourceLineNo">2002</span>      if (code == TransitionCode.OPENED) {<a name="line.2002"></a>
-<span class="sourceLineNo">2003</span>        Preconditions.checkArgument(hris != null &amp;&amp; hris.length == 1);<a name="line.2003"></a>
-<span class="sourceLineNo">2004</span>        if (hris[0].isMetaRegion()) {<a name="line.2004"></a>
-<span class="sourceLineNo">2005</span>          try {<a name="line.2005"></a>
-<span class="sourceLineNo">2006</span>            MetaTableLocator.setMetaLocation(getZooKeeper(), serverName,<a name="line.2006"></a>
-<span class="sourceLineNo">2007</span>                hris[0].getReplicaId(),State.OPEN);<a name="line.2007"></a>
-<span class="sourceLineNo">2008</span>          } catch (KeeperException e) {<a name="line.2008"></a>
-<span class="sourceLineNo">2009</span>            LOG.info("Failed to update meta location", e);<a name="line.2009"></a>
-<span class="sourceLineNo">2010</span>            return false;<a name="line.2010"></a>
-<span class="sourceLineNo">2011</span>          }<a name="line.2011"></a>
-<span class="sourceLineNo">2012</span>        } else {<a name="line.2012"></a>
-<span class="sourceLineNo">2013</span>          try {<a name="line.2013"></a>
-<span class="sourceLineNo">2014</span>            MetaTableAccessor.updateRegionLocation(clusterConnection,<a name="line.2014"></a>
-<span class="sourceLineNo">2015</span>              hris[0], serverName, openSeqNum, masterSystemTime);<a name="line.2015"></a>
-<span class="sourceLineNo">2016</span>          } catch (IOException e) {<a name="line.2016"></a>
-<span class="sourceLineNo">2017</span>            LOG.info("Failed to update meta", e);<a name="line.2017"></a>
-<span class="sourceLineNo">2018</span>            return false;<a name="line.2018"></a>
-<span class="sourceLineNo">2019</span>          }<a name="line.2019"></a>
-<span class="sourceLineNo">2020</span>        }<a name="line.2020"></a>
-<span class="sourceLineNo">2021</span>      }<a name="line.2021"></a>
-<span class="sourceLineNo">2022</span>      return true;<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>    ReportRegionStateTransitionRequest.Builder builder =<a name="line.2025"></a>
-<span class="sourceLineNo">2026</span>      ReportRegionStateTransitionRequest.newBuilder();<a name="line.2026"></a>
-<span class="sourceLineNo">2027</span>    builder.setServer(ProtobufUtil.toServerName(serverName));<a name="line.2027"></a>
-<span class="sourceLineNo">2028</span>    RegionStateTransition.Builder transition = builder.addTransitionBuilder();<a name="line.2028"></a>
-<span class="sourceLineNo">2029</span>    transition.setTransitionCode(code);<a name="line.2029"></a>
-<span class="sourceLineNo">2030</span>    if (code == TransitionCode.OPENED &amp;&amp; openSeqNum &gt;= 0) {<a name="line.2030"></a>
-<span class="sourceLineNo">2031</span>      transition.setOpenSeqNum(openSeqNum);<a name="line.2031"></a>
-<span class="sourceLineNo">2032</span>    }<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>    for (HRegionInfo hri: hris) {<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>      transition.addRegionInfo(HRegionInfo.convert(hri));<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span>    }<a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>    ReportRegionStateTransitionRequest request = builder.build();<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>    while (keepLooping()) {<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2038"></a>
-<span class="sourceLineNo">2039</span>      try {<a name="line.2039"></a>
-<span class="sourceLineNo">2040</span>        if (rss == null) {<a name="line.2040"></a>
-<span class="sourceLineNo">2041</span>          createRegionServerStatusStub();<a name="line.2041"></a>
-<span class="sourceLineNo">2042</span>          continue;<a name="line.2042"></a>
-<span class="sourceLineNo">2043</span>        }<a name="line.2043"></a>
-<span class="sourceLineNo">2044</span>        ReportRegionStateTransitionResponse response =<a name="line.2044"></a>
-<span class="sourceLineNo">2045</span>          rss.reportRegionStateTransition(null, request);<a name="line.2045"></a>
-<span class="sourceLineNo">2046</span>        if (response.hasErrorMessage()) {<a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>          LOG.info("Failed to transition " + hris[0]<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>            + " to " + code + ": " + response.getErrorMessage());<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>          return false;<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>        }<a name="line.2050"></a>
-<span class="sourceLineNo">2051</span>        return true;<a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>      } catch (ServiceException se) {<a name="line.2052"></a>
-<span class="sourceLineNo">2053</span>        IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>        LOG.info("Failed to report region transition, will retry", ioe);<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span>        if (rssStub == rss) {<a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>          rssStub = null;<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>    return false;<a name="line.2060"></a>
-<span class="sourceLineNo">2061</span>  }<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span><a name="line.2062"></a>
-<span class="sourceLineNo">2063</span>  /**<a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>   * Trigger a flush in the primary region replica if this region is a secondary replica. Does not<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span>   * block this thread. See RegionReplicaFlushHandler for details.<a name="line.2065"></a>
-<span class="sourceLineNo">2066</span>   */<a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>  void triggerFlushInPrimaryRegion(final HRegion region) {<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>    if (ServerRegionReplicaUtil.isDefaultReplica(region.getRegionInfo())) {<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span>      return;<a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>    }<a name="line.2070"></a>
-<span class="sourceLineNo">2071</span>    if (!ServerRegionReplicaUtil.isRegionReplicaReplicationEnabled(region.conf) ||<a name="line.2071"></a>
-<span class="sourceLineNo">2072</span>        !ServerRegionReplicaUtil.isRegionReplicaWaitForPrimaryFlushEnabled(<a name="line.2072"></a>
-<span class="sourceLineNo">2073</span>          region.conf)) {<a name="line.2073"></a>
-<span class="sourceLineNo">2074</span>      region.setReadsEnabled(true);<a name="line.2074"></a>
-<span class="sourceLineNo">2075</span>      return;<a name="line.2075"></a>
-<span class="sourceLineNo">2076</span>    }<a name="line.2076"></a>
-<span class="sourceLineNo">2077</span><a name="line.2077"></a>
-<span class="sourceLineNo">2078</span>    region.setReadsEnabled(false); // disable reads before marking the region as opened.<a name="line.2078"></a>
-<span class="sourceLineNo">2079</span>    // RegionReplicaFlushHandler might reset this.<a name="line.2079"></a>
-<span class="sourceLineNo">2080</span><a name="line.2080"></a>
-<span class="sourceLineNo">2081</span>    // submit it to be handled by one of the handlers so that we do not block OpenRegionHandler<a name="line.2081"></a>
-<span class="sourceLineNo">2082</span>    this.service.submit(<a name="line.2082"></a>
-<span class="sourceLineNo">2083</span>      new RegionReplicaFlushHandler(this, clusterConnection,<a name="line.2083"></a>
-<span class="sourceLineNo">2084</span>        rpcRetryingCallerFactory, rpcControllerFactory, operationTimeout, region));<a name="line.2084"></a>
-<span class="sourceLineNo">2085</span>  }<a name="line.2085"></a>
-<span class="sourceLineNo">2086</span><a name="line.2086"></a>
-<span class="sourceLineNo">2087</span>  @Override<a name="line.2087"></a>
-<span class="sourceLineNo">2088</span>  public RpcServerInterface getRpcServer() {<a name="line.2088"></a>
-<span class="sourceLineNo">2089</span>    return rpcServices.rpcServer;<a name="line.2089"></a>
-<span class="sourceLineNo">2090</span>  }<a name="line.2090"></a>
-<span class="sourceLineNo">2091</span><a name="line.2091"></a>
-<span class="sourceLineNo">2092</span>  @VisibleForTesting<a name="line.2092"></a>
-<span class="sourceLineNo">2093</span>  public RSRpcServices getRSRpcServices() {<a name="line.2093"></a>
-<span class="sourceLineNo">2094</span>    return rpcServices;<a name="line.2094"></a>
-<span class="sourceLineNo">2095</span>  }<a name="line.2095"></a>
-<span class="sourceLineNo">2096</span><a name="line.2096"></a>
-<span class="sourceLineNo">2097</span>  /**<a name="line.2097"></a>
-<span class="sourceLineNo">2098</span>   * Cause the server to exit without closing the regions it is serving, the log<a name="line.2098"></a>
-<span class="sourceLineNo">2099</span>   * it is using and without notifying the master. Used unit testing and on<a name="line.2099"></a>
-<span class="sourceLineNo">2100</span>   * catastrophic events such as HDFS is yanked out from under hbase or we OOME.<a name="line.2100"></a>
-<span class="sourceLineNo">2101</span>   *<a name="line.2101"></a>
-<span class="sourceLineNo">2102</span>   * @param reason<a name="line.2102"></a>
-<span class="sourceLineNo">2103</span>   *          the reason we are aborting<a name="line.2103"></a>
-<span class="sourceLineNo">2104</span>   * @param cause<a name="line.2104"></a>
-<span class="sourceLineNo">2105</span>   *          the exception that caused the abort, or null<a name="line.2105"></a>
-<span class="sourceLineNo">2106</span>   */<a name="line.2106"></a>
-<span class="sourceLineNo">2107</span>  @Override<a name="line.2107"></a>
-<span class="sourceLineNo">2108</span>  public void abort(String reason, Throwable cause) {<a name="line.2108"></a>
-<span class="sourceLineNo">2109</span>    String msg = "ABORTING region server " + this + ": " + reason;<a name="line.2109"></a>
-<span class="sourceLineNo">2110</span>    if (cause != null) {<a name="line.2110"></a>
-<span class="sourceLineNo">2111</span>      LOG.fatal(msg, cause);<a name="line.2111"></a>
-<span class="sourceLineNo">2112</span>    } else {<a name="line.2112"></a>
-<span class="sourceLineNo">2113</span>      LOG.fatal(msg);<a name="line.2113"></a>
-<span class="sourceLineNo">2114</span>    }<a name="line.2114"></a>
-<span class="sourceLineNo">2115</span>    this.abortRequested = true;<a name="line.2115"></a>
-<span class="sourceLineNo">2116</span>    // HBASE-4014: show list of coprocessors that were loaded to help debug<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span>    // regionserver crashes.Note that we're implicitly using<a name="line.2117"></a>
-<span class="sourceLineNo">2118</span>    // java.util.HashSet's toString() method to print the coprocessor names.<a name="line.2118"></a>
-<span class="sourceLineNo">2119</span>    LOG.fatal("RegionServer abort: loaded coprocessors are: " +<a name="line.2119"></a>
-<span class="sourceLineNo">2120</span>        CoprocessorHost.getLoadedCoprocessors());<a name="line.2120"></a>
-<span class="sourceLineNo">2121</span>    // Try and dump metrics if abort -- might give clue as to how fatal came about....<a name="line.2121"></a>
-<span class="sourceLineNo">2122</span>    try {<a name="line.2122"></a>
-<span class="sourceLineNo">2123</span>      LOG.info("Dump of metrics as JSON on abort: " + JSONBean.dumpRegionServerMetrics());<a name="line.2123"></a>
-<span class="sourceLineNo">2124</span>    } catch (MalformedObjectNameException | IOException e) {<a name="line.2124"></a>
-<span class="sourceLineNo">2125</span>      LOG.warn("Failed dumping metrics", e);<a name="line.2125"></a>
-<span class="sourceLineNo">2126</span>    }<a name="line.2126"></a>
-<span class="sourceLineNo">2127</span><a name="line.2127"></a>
-<span class="sourceLineNo">2128</span>    // Do our best to report our abort to the master, but this may not work<a name="line.2128"></a>
-<span class="sourceLineNo">2129</span>    try {<a name="line.2129"></a>
-<span class="sourceLineNo">2130</span>      if (cause != null) {<a name="line.2130"></a>
-<span class="sourceLineNo">2131</span>        msg += "\nCause:\n" + StringUtils.stringifyException(cause);<a name="line.2131"></a>
-<span class="sourceLineNo">2132</span>      }<a name="line.2132"></a>
-<span class="sourceLineNo">2133</span>      // Report to the master but only if we have already registered with the master.<a name="line.2133"></a>
-<span class="sourceLineNo">2134</span>      if (rssStub != null &amp;&amp; this.serverName != null) {<a name="line.2134"></a>
-<span class="sourceLineNo">2135</span>        ReportRSFatalErrorRequest.Builder builder =<a name="line.2135"></a>
-<span class="sourceLineNo">2136</span>          ReportRSFatalErrorRequest.newBuilder();<a name="line.2136"></a>
-<span class="sourceLineNo">2137</span>        ServerName sn =<a name="line.2137"></a>
-<span class="sourceLineNo">2138</span>          ServerName.parseVersionedServerName(this.serverName.getVersionedBytes());<a name="line.2138"></a>
-<span class="sourceLineNo">2139</span>        builder.setServer(ProtobufUtil.toServerName(sn));<a name="line.2139"></a>
-<span class="sourceLineNo">2140</span>        builder.setErrorMessage(msg);<a name="line.2140"></a>
-<span class="sourceLineNo">2141</span>        rssStub.reportRSFatalError(null, builder.build());<a name="line.2141"></a>
-<span class="sourceLineNo">2142</span>      }<a name="line.2142"></a>
-<span class="sourceLineNo">2143</span>    } catch (Throwable t) {<a name="line.2143"></a>
-<span class="sourceLineNo">2144</span>      LOG.warn("Unable to report fatal error to master", t);<a name="line.2144"></a>
-<span class="sourceLineNo">2145</span>    }<a name="line.2145"></a>
-<span class="sourceLineNo">2146</span>    stop(reason);<a name="line.2146"></a>
-<span class="sourceLineNo">2147</span>  }<a name="line.2147"></a>
-<span class="sourceLineNo">2148</span><a name="line.2148"></a>
-<span class="sourceLineNo">2149</span>  /**<a name="line.2149"></a>
-<span class="sourceLineNo">2150</span>   * @see HRegionServer#abort(String, Throwable)<a name="line.2150"></a>
-<span class="sourceLineNo">2151</span>   */<a name="line.2151"></a>
-<span class="sourceLineNo">2152</span>  public void abort(String reason) {<a name="line.2152"></a>
-<span class="sourceLineNo">2153</span>    abort(reason, null);<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>  @Override<a name="line.2156"></a>
-<span class="sourceLineNo">2157</span>  public boolean isAborted() {<a name="line.2157"></a>
-<span class="sourceLineNo">2158</span>    return this.abortRequested;<a name="line.2158"></a>
-<span class="sourceLineNo">2159</span>  }<a name="line.2159"></a>
-<span class="sourceLineNo">2160</span><a name="line.2160"></a>
-<span class="sourceLineNo">2161</span>  /*<a name="line.2161"></a>
-<span class="sourceLineNo">2162</span>   * Simulate a kill -9 of this server. Exits w/o closing regions or cleaninup<a name="line.2162"></a>
-<span class="sourceLineNo">2163</span>   * logs but it does close socket in case want to bring up server on old<a name="line.2163"></a>
-<span class="sourceLineNo">2164</span>   * hostname+port immediately.<a name="line.2164"></a>
-<span class="sourceLineNo">2165</span>   */<a name="line.2165"></a>
-<span class="sourceLineNo">2166</span>  protected void kill() {<a name="line.2166"></a>
-<span class="sourceLineNo">2167</span>    this.killed = true;<a name="line.2167"></a>
-<span class="sourceLineNo">2168</span>    abort("Simulated kill");<a name="line.2168"></a>
-<span class="sourceLineNo">2169</span>  }<a name="line.2169"></a>
-<span class="sourceLineNo">2170</span><a name="line.2170"></a>
-<span class="sourceLineNo">2171</span>  /**<a name="line.2171"></a>
-<span class="sourceLineNo">2172</span>   * Called on stop/abort before closing the cluster connection and meta locator.<a name="line.2172"></a>
-<span class="sourceLineNo">2173</span>   */<a name="line.2173"></a>
-<span class="sourceLineNo">2174</span>  protected void sendShutdownInterrupt() {<a name="line.2174"></a>
-<span class="sourceLineNo">2175</span>  }<a name="line.2175"></a>
-<span class="sourceLineNo">2176</span><a name="line.2176"></a>
-<span class="sourceLineNo">2177</span>  /**<a name="line.2177"></a>
-<span class="sourceLineNo">2178</span>   * Wait on all threads to finish. Presumption is that all closes and stops<a name="line.2178"></a>
-<span class="sourceLineNo">2179</span>   * have already been called.<a name="line.2179"></a>
-<span class="sourceLineNo">2180</span>   */<a name="line.2180"></a>
-<span class="sourceLineNo">2181</span>  protected void stopServiceThreads() {<a name="line.2181"></a>
-<span class="sourceLineNo">2182</span>    // clean up the scheduled chores<a name="line.2182"></a>
-<span class="sourceLineNo">2183</span>    if (this.choreService != null) choreService.shutdown();<a name="line.2183"></a>
-<span class="sourceLineNo">2184</span>    if (this.nonceManagerChore != null) nonceManagerChore.cancel(true);<a name="line.2184"></a>
-<span class="sourceLineNo">2185</span>    if (this.compactionChecker != null) compactionChecker.cancel(true);<a name="line.2185"></a>
-<span class="sourceLineNo">2186</span>    if (this.periodicFlusher != null) periodicFlusher.cancel(true);<a name="line.2186"></a>
-<span class="sourceLineNo">2187</span>    if (this.healthCheckChore != null) healthCheckChore.cancel(true);<a name="line.2187"></a>
-<span class="sourceLineNo">2188</span>    if (this.storefileRefresher != null) storefileRefresher.cancel(true);<a name="line.2188"></a>
-<span class="sourceLineNo">2189</span>    if (this.movedRegionsCleaner != null) movedRegionsCleaner.cancel(true);<a name="line.2189"></a>
-<span class="sourceLineNo">2190</span><a name="line.2190"></a>
-<span class="sourceLineNo">2191</span>    if (this.cacheFlusher != null) {<a name="line.2191"></a>
-<span class="sourceLineNo">2192</span>      this.cacheFlusher.join();<a name="line.2192"></a>
-<span class="sourceLineNo">2193</span>    }<a name="line.2193"></a>
-<span class="sourceLineNo">2194</span><a name="line.2194"></a>
-<span class="sourceLineNo">2195</span>    if (this.spanReceiverHost != null) {<a name="line.2195"></a>
-<span class="sourceLineNo">2196</span>      this.spanReceiverHost.closeReceivers();<a name="line.2196"></a>
-<span class="sourceLineNo">2197</span>    }<a name="line.2197"></a>
-<span class="sourceLineNo">2198</span>    if (this.walRoller != null) {<a name="line.2198"></a>
-<span class="sourceLineNo">2199</span>      Threads.shutdown(this.walRoller.getThread());<a name="line.2199"></a>
-<span class="sourceLineNo">2200</span>    }<a name="line.2200"></a>
-<span class="sourceLineNo">2201</span>    final LogRoller metawalRoller = this.metawalRoller.get();<a name="line.2201"></a>
-<span class="sourceLineNo">2202</span>    if (metawalRoller != null) {<a name="line.2202"></a>
-<span class="sourceLineNo">2203</span>      Threads.shutdown(metawalRoller.getThread());<a name="line.2203"></a>
-<span class="sourceLineNo">2204</span>    }<a name="line.2204"></a>
-<span class="sourceLineNo">2205</span>    if (this.compactSplitThread != null) {<a name="line.2205"></a>
-<span class="sourceLineNo">2206</span>      this.compactSplitThread.join();<a name="line.2206"></a>
-<span class="sourceLineNo">2207</span>    }<a name="line.2207"></a>
-<span class="sourceLineNo">2208</span>    if (this.service != null) this.service.shutdown();<a name="line.2208"></a>
-<span class="sourceLineNo">2209</span>    if (this.replicationSourceHandler != null &amp;&amp;<a name="line.2209"></a>
-<span class="sourceLineNo">2210</span>        this.replicationSourceHandler == this.replicationSinkHandler) {<a name="line.2210"></a>
-<span class="sourceLineNo">2211</span>      this.replicationSourceHandler.stopReplicationService();<a name="line.2211"></a>
-<span class="sourceLineNo">2212</span>    } else {<a name="line.2212"></a>
-<span class="sourceLineNo">2213</span>      if (this.replicationSourceHandler != null) {<a name="line.2213"></a>
-<span class="sourceLineNo">2214</span>        this.replicationSourceHandler.stopReplicationService();<a name="line.2214"></a>
-<span class="sourceLineNo">2215</span>      }<a name="line.2215"></a>
-<span class="sourceLineNo">2216</span>      if (this.replicationSinkHandler != null) {<a name="line.2216"></a>
-<span class="sourceLineNo">2217</span>        this.replicationSinkHandler.stopReplicationService();<a name="line.2217"></a>
-<span class="sourceLineNo">2218</span>      }<a name="line.2218"></a>
-<span class="sourceLineNo">2219</span>    }<a name="line.2219"></a>
-<span class="sourceLineNo">2220</span>  }<a name="line.2220"></a>
-<span class="sourceLineNo">2221</span><a name="line.2221"></a>
-<span class="sourceLineNo">2222</span>  /**<a name="line.2222"></a>
-<span class="sourceLineNo">2223</span>   * @return Return the object that implements the replication<a name="line.2223"></a>
-<span class="sourceLineNo">2224</span>   * source service.<a name="line.2224"></a>
-<span class="sourceLineNo">2225</span>   */<a name="line.2225"></a>
-<span class="sourceLineNo">2226</span>  ReplicationSourceService getReplicationSourceService() {<a name="line.2226"></a>
-<span class="sourceLineNo">2227</span>    return replicationSourceHandler;<a name="line.2227"></a>
-<span class="sourceLineNo">2228</span>  }<a name="line.2228"></a>
-<span class="sourceLineNo">2229</span><a name="line.2229"></a>
-<span class="sourceLineNo">2230</span>  /**<a name="line.2230"></a>
-<span class="sourceLineNo">2231</span>   * @return Return the object that implements the replication<a name="line.2231"></a>
-<span class="sourceLineNo">2232</span>   * sink service.<a name="line.2232"></a>
-<span class="sourceLineNo">2233</span>   */<a name="line.2233"></a>
-<span class="sourceLineNo">2234</span>  ReplicationSinkService getReplicationSinkService() {<a name="line.2234"></a>
-<span class="sourceLineNo">2235</span>    return replicationSinkHandler;<a name="line.2235"></a>
-<span class="sourceLineNo">2236</span>  }<a name="line.2236"></a>
-<span class="sourceLineNo">2237</span><a name="line.2237"></a>
-<span class="sourceLineNo">2238</span>  /**<a name="line.2238"></a>
-<span class="sourceLineNo">2239</span>   * Get the current master from ZooKeeper and open the RPC connection to it.<a name="line.2239"></a>
-<span class="sourceLineNo">2240</span>   * To get a fresh connection, the current rssStub must be null.<a name="line.2240"></a>
-<span class="sourceLineNo">2241</span>   * Method will block until a master is available. You can break from this<a name="line.2241"></a>
-<span class="sourceLineNo">2242</span>   * block by requesting the server stop.<a name="line.2242"></a>
-<span class="sourceLineNo">2243</span>   *<a name="line.2243"></a>
-<span class="sourceLineNo">2244</span>   * @return master + port, or null if server has been stopped<a name="line.2244"></a>
-<span class="sourceLineNo">2245</span>   */<a name="line.2245"></a>
-<span class="sourceLineNo">2246</span>  @VisibleForTesting<a name="line.2246"></a>
-<span class="sourceLineNo">2247</span>  protected synchronized ServerName createRegionServerStatusStub() {<a name="line.2247"></a>
-<span class="sourceLineNo">2248</span>    if (rssStub != null) {<a name="line.2248"></a>
-<span class="sourceLineNo">2249</span>      return masterAddressTracker.getMasterAddress();<a name="line.2249"></a>
-<span class="sourceLineNo">2250</span>    }<a name="line.2250"></a>
-<span class="sourceLineNo">2251</span>    ServerName sn = null;<a name="line.2251"></a>
-<span class="sourceLineNo">2252</span>    long previousLogTime = 0;<a name="line.2252"></a>
-<span class="sourceLineNo">2253</span>    boolean refresh = false; // for the first time, use cached data<a name="line.2253"></a>
-<span class="sourceLineNo">2254</span>    RegionServerStatusService.BlockingInterface intf = null;<a name="line.2254"></a>
-<span class="sourceLineNo">2255</span>    boolean interrupted = false;<a name="line.2255"></a>
-<span class="sourceLineNo">2256</span>    try {<a name="line.2256"></a>
-<span class="sourceLineNo">2257</span>      while (keepLooping()) {<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>        sn = this.masterAddressTracker.getMasterAddress(refresh);<a name="line.2258"></a>
-<span class="sourceLineNo">2259</span>        if (sn == null) {<a name="line.2259"></a>
-<span class="sourceLineNo">2260</span>          if (!keepLooping()) {<a name="line.2260"></a>
-<span class="sourceLineNo">2261</span>            // give up with no connection.<a name="line.2261"></a>
-<span class="sourceLineNo">2262</span>            LOG.debug("No master found and cluster is stopped; bailing out");<a name="line.2262"></a>
-<span class="sourceLineNo">2263</span>            return null;<a name="line.2263"></a>
-<span class="sourceLineNo">2264</span>          }<a name="line.2264"></a>
-<span class="sourceLineNo">2265</span>          if (System.currentTimeMillis() &gt; (previousLogTime + 1000)) {<a name="line.2265"></a>
-<span class="sourceLineNo">2266</span>            LOG.debug("No master found; retry");<a name="line.2266"></a>
-<span class="sourceLineNo">2267</span>            previousLogTime = System.currentTimeMillis();<a name="line.2267"></a>
-<span class="sourceLineNo">2268</span>          }<a name="line.2268"></a>
-<span class="sourceLineNo">2269</span>          refresh = true; // let's try pull it from ZK directly<a name="line.2269"></a>
-<span class="sourceLineNo">2270</span>          if (sleep(200)) {<a name="line.2270"></a>
-<span class="sourceLineNo">2271</span>            interrupted = true;<a name="line.2271"></a>
-<span class="sourceLineNo">2272</span>          }<a name="line.2272"></a>
-<span class="sourceLineNo">2273</span>          continue;<a name="line.2273"></a>
-<span class="sourceLineNo">2274</span>        }<a name="line.2274"></a>
-<span class="sourceLineNo">2275</span><a name="line.2275"></a>
-<span class="sourceLineNo">2276</span>        // If we are on the active master, use the shortcut<a name="line.2276"></a>
-<span class="sourceLineNo">2277</span>        if (this instanceof HMaster &amp;&amp; sn.equals(getServerName())) {<a name="line.2277"></a>
-<span class="sourceLineNo">2278</span>          intf = ((HMaster)this).getMasterRpcServices();<a name="line.2278"></a>
-<span class="sourceLineNo">2279</span>          break;<a name="line.2279"></a>
-<span class="sourceLineNo">2280</span>        }<a name="line.2280"></a>
-<span class="sourceLineNo">2281</span>        try {<a name="line.2281"></a>
-<span class="sourceLineNo">2282</span>          BlockingRpcChannel channel =<a name="line.2282"></a>
-<span class="sourceLineNo">2283</span>            this.rpcClient.createBlockingRpcChannel(sn, userProvider.getCurrent(),<a name="line.2283"></a>
-<span class="sourceLineNo">2284</span>              shortOperationTimeout);<a name="line.2284"></a>
-<span class="sourceLineNo">2285</span>          intf = RegionServerStatusService.newBlockingStub(channel);<a name="line.2285"></a>
-<span class="sourceLineNo">2286</span>          break;<a name="line.2286"></a>
-<span class="sourceLineNo">2287</span>        } catch (IOException e) {<a name="line.2287"></a>
-<span class="sourceLineNo">2288</span>          if (System.currentTimeMillis() &gt; (previousLogTime + 1000)) {<a name="line.2288"></a>
-<span class="sourceLineNo">2289</span>            e = e instanceof RemoteException ?<a name="line.2289"></a>
-<span class="sourceLineNo">2290</span>              ((RemoteException)e).unwrapRemoteException() : e;<a name="line.2290"></a>
-<span class="sourceLineNo">2291</span>            if (e instanceof ServerNotRunningYetException) {<a name="line.2291"></a>
-<span class="sourceLineNo">2292</span>              LOG.info("Master isn't available yet, retrying");<a name="line.2292"></a>
-<span class="sourceLineNo">2293</span>            } else {<a name="line.2293"></a>
-<span class="sourceLineNo">2294</span>              LOG.warn("Unable to connect to master. Retrying. Error was:", e);<a name="line.2294"></a>
-<span class="sourceLineNo">2295</span>            }<a name="line.2295"></a>
-<span class="sourceLineNo">2296</span>            previousLogTime = System.currentTimeMillis();<a name="line.2296"></a>
-<span class="sourceLineNo">2297</span>          }<a name="line.2297"></a>
-<span class="sourceLineNo">2298</span>          if (sleep(200)) {<a name="line.2298"></a>
-<span class="sourceLineNo">2299</span>            interrupted = true;<a name="line.2299"></a>
-<span class="sourceLineNo">2300</span>          }<a name="line.2300"></a>
-<span class="sourceLineNo">2301</span>        }<a name="line.2301"></a>
-<span class="sourceLineNo">2302</span>      }<a name="line.2302"></a>
-<span class="sourceLineNo">2303</span>    } finally {<a name="line.2303"></a>
-<span class="sourceLineNo">2304</span>      if (interrupted) {<a name="line.2304"></a>
-<span class="sourceLineNo">2305</span>        Thread.currentThread().interrupt();<a name="line.2305"></a>
-<span class="sourceLineNo">2306</span>      }<a name="line.2306"></a>
-<span class="sourceLineNo">2307</span>    }<a name="line.2307"></a>
-<span class="sourceLineNo">2308</span>    rssStub = intf;<a name="line.2308"></a>
-<span class="sourceLineNo">2309</span>    return sn;<a name="line.2309"></a>
-<span class="sourceLineNo">2310</span>  }<a name="line.2310"></a>
-<span class="sourceLineNo">2311</span><a name="line.2311"></a>
-<span class="sourceLineNo">2312</span>  /**<a name="line.2312"></a>
-<span class="sourceLineNo">2313</span>   * @return True if we should break loop because cluster is going down or<a name="line.2313"></a>
-<span class="sourceLineNo">2314</span>   * this server has been stopped or hdfs has gone bad.<a name="line.2314"></a>
-<span class="sourceLineNo">2315</span>   */<a name="line.2315"></a>
-<span class="sourceLineNo">2316</span>  private boolean keepLooping() {<a name="line.2316"></a>
-<span class="sourceLineNo">2317</span>    return !this.stopped &amp;&amp; isClusterUp();<a name="line.2317"></a>
-<span class="sourceLineNo">2318</span>  }<a name="line.2318"></a>
-<span class="sourceLineNo">2319</span><a name="line.2319"></a>
-<span class="sourceLineNo">2320</span>  /*<a name="line.2320"></a>
-<span class="sourceLineNo">2321</span>   * Let the master know we're here Run initialization using parameters passed<a name="line.2321"></a>
-<span class="sourceLineNo">2322</span>   * us by the master.<a name="line.2322"></a>
-<span class="sourceLineNo">2323</span>   * @return A Map of key/value configurations we got from the Master else<a name="line.2323"></a>
-<span class="sourceLineNo">2324</span>   * null if we failed to register.<a name="line.2324"></a>
-<span class="sourceLineNo">2325</span>   * @throws IOException<a name="line.2325"></a>
-<span class="sourceLineNo">2326</span>   */<a name="line.2326"></a>
-<span class="sourceLineNo">2327</span>  private RegionServerStartupResponse reportForDuty() throws IOException {<a name="line.2327"></a>
-<span class="sourceLineNo">2328</span>    ServerName masterServerName = createRegionServerStatusStub();<a name="line.2328"></a>
-<span class="sourceLineNo">2329</span>    if (masterServerName == null) return null;<a name="line.2329"></a>
-<span class="sourceLineNo">2330</span>    RegionServerStartupResponse result = null;<a name="line.2330"></a>
-<span class="sourceLineNo">2331</span>    try {<a name="line.2331"></a>
-<span class="sourceLineNo">2332</span>      rpcServices.requestCount.set(0);<a name="line.2332"></a>
-<span class="sourceLineNo">2333</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2333"></a>
-<span class="sourceLineNo">2334</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2334"></a>
-<span class="sourceLineNo">2335</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2335"></a>
-<span class="sourceLineNo">2336</span>      int port = rpcServices.isa.getPort();<a name="line.2336"></a>
-<span class="sourceLineNo">2337</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2337"></a>
-<span class="sourceLineNo">2338</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2338"></a>
-<span class="sourceLineNo">2339</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2339"></a>
-<span class="sourceLineNo">2340</span>      }<a name="line.2340"></a>
-<span class="sourceLineNo">2341</span>      request.setPort(port);<a name="line.2341"></a>
-<span class="sourceLineNo">2342</span>      request.setServerStartCode(this.startcode);<a name="line.2342"></a>
-<span class="sourceLineNo">2343</span>      request.setServerCurrentTime(now);<a name="line.2343"></a>
-<span class="sourceLineNo">2344</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2344"></a>
-<span class="sourceLineNo">2345</span>    } catch (ServiceException se) {<a name="line.2345"></a>
-<span class="sourceLineNo">2346</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2346"></a>
-<span class="sourceLineNo">2347</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2347"></a>
-<span class="sourceLineNo">2348</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2348"></a>
-<span class="sourceLineNo">2349</span>        // Re-throw IOE will cause RS to abort<a name="line.2349"></a>
-<span class="sourceLineNo">2350</span>        throw ioe;<a name="line.2350"></a>
-<span class="sourceLineNo">2351</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2351"></a>
-<span class="sourceLineNo">2352</span>        LOG.debug("Master is not running yet");<a name="line.2352"></a>
-<span class="sourceLineNo">2353</span>      } else {<a name="line.2353"></a>
-<span class="sourceLineNo">2354</span>        LOG.warn("error telling master we are up", se);<a name="line.2354"></a>
-<span class="sourceLineNo">2355</span>      }<a name="line.2355"></a>
-<span class="sourceLineNo">2356</span>      rssStub = null;<a name="line.2356"></a>
-<span class="sourceLineNo">2357</span>    }<a name="line.2357"></a>
-<span class="sourceLineNo">2358</span>    return result;<a name="line.2358"></a>
-<span class="sourceLineNo">2359</span>  }<a name="line.2359"></a>
-<span class="sourceLineNo">2360</span><a name="line.2360"></a>
-<span class="sourceLineNo">2361</span>  @Override<a name="line.2361"></a>
-<span class="sourceLineNo">2362</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2362"></a>
-<span class="sourceLineNo">2363</span>    try {<a name="line.2363"></a>
-<span class="sourceLineNo">2364</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2365"></a>
-<span class="sourceLineNo">2366</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2366"></a>
-<span class="sourceLineNo">2367</span>      if (rss == null) { // Try to connect one more time<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>        createRegionServerStatusStub();<a name="line.2368"></a>
-<span class="sourceLineNo">2369</span>        rss = rssStub;<a name="line.2369"></a>
-<span class="sourceLineNo">2370</span>        if (rss == null) {<a name="line.2370"></a>
-<span class="sourceLineNo">2371</span>          // Still no luck, we tried<a name="line.2371"></a>
-<span class="sourceLineNo">2372</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2372"></a>
-<span class="sourceLineNo">2373</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>              .build();<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span>        }<a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>      }<a name="line.2376"></a>
-<span class="sourceLineNo">2377</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>    } catch (ServiceException e) {<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>          .build();<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>    }<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span>  }<a name="line.2386"></a>
-<span class="sourceLineNo">2387</span><a name="line.2387"></a>
-<span class="sourceLineNo">2388</span>  /**<a name="line.2388"></a>
-<span class="sourceLineNo">2389</span>   * Closes all regions.  Called on our way out.<

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1b9384b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
index 4078580..b9f3a92 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
@@ -1526,1902 +1526,1903 @@
 <span class="sourceLineNo">1518</span>      .setTotalStaticIndexSizeKB(totalStaticIndexSizeKB)<a name="line.1518"></a>
 <span class="sourceLineNo">1519</span>      .setTotalStaticBloomSizeKB(totalStaticBloomSizeKB)<a name="line.1519"></a>
 <span class="sourceLineNo">1520</span>      .setReadRequestsCount(r.getReadRequestsCount())<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>      .setWriteRequestsCount(r.getWriteRequestsCount())<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>      .setTotalCompactingKVs(totalCompactingKVs)<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span>      .setCurrentCompactedKVs(currentCompactedKVs)<a name="line.1523"></a>
-<span class="sourceLineNo">1524</span>      .setDataLocality(dataLocality)<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>      .setLastMajorCompactionTs(r.getOldestHfileTs(true));<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span>    ((HRegion)r).setCompleteSequenceId(regionLoadBldr);<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span><a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>    return regionLoadBldr.build();<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>  }<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span><a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>  /**<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>   * @param encodedRegionName<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>   * @return An instance of RegionLoad.<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>   */<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>  public RegionLoad createRegionLoad(final String encodedRegionName) throws IOException {<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>    Region r = onlineRegions.get(encodedRegionName);<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span>    return r != null ? createRegionLoad(r, null, null) : null;<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>  /*<a name="line.1540"></a>
-<span class="sourceLineNo">1541</span>   * Inner class that runs on a long period checking if regions need compaction.<a name="line.1541"></a>
-<span class="sourceLineNo">1542</span>   */<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>  private static class CompactionChecker extends ScheduledChore {<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>    private final HRegionServer instance;<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span>    private final int majorCompactPriority;<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>    private final static int DEFAULT_PRIORITY = Integer.MAX_VALUE;<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>    private long iteration = 0;<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span><a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>    CompactionChecker(final HRegionServer h, final int sleepTime,<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span>        final Stoppable stopper) {<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>      super("CompactionChecker", stopper, sleepTime);<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>      this.instance = h;<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span>      LOG.info(this.getName() + " runs every " + StringUtils.formatTime(sleepTime));<a name="line.1553"></a>
-<span class="sourceLineNo">1554</span><a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>      /* MajorCompactPriority is configurable.<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>       * If not set, the compaction will use default priority.<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>       */<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>      this.majorCompactPriority = this.instance.conf.<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span>        getInt("hbase.regionserver.compactionChecker.majorCompactPriority",<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>        DEFAULT_PRIORITY);<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>    }<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span><a name="line.1562"></a>
-<span class="sourceLineNo">1563</span>    @Override<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>    protected void chore() {<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>      for (Region r : this.instance.onlineRegions.values()) {<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>        if (r == null)<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>          continue;<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>        for (Store s : r.getStores()) {<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span>          try {<a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>            long multiplier = s.getCompactionCheckMultiplier();<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span>            assert multiplier &gt; 0;<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>            if (iteration % multiplier != 0) continue;<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>            if (s.needsCompaction()) {<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>              // Queue a compaction. Will recognize if major is needed.<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>              this.instance.compactSplitThread.requestSystemCompaction(r, s, getName()<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span>                  + " requests compaction");<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>            } else if (s.isMajorCompaction()) {<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>              if (majorCompactPriority == DEFAULT_PRIORITY<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>                  || majorCompactPriority &gt; ((HRegion)r).getCompactPriority()) {<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>                this.instance.compactSplitThread.requestCompaction(r, s, getName()<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>                    + " requests major compaction; use default priority", null);<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>              } else {<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>                this.instance.compactSplitThread.requestCompaction(r, s, getName()<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>                    + " requests major compaction; use configured priority",<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>                  this.majorCompactPriority, null, null);<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>              }<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>            }<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>          } catch (IOException e) {<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span>            LOG.warn("Failed major compaction check on " + r, e);<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>          }<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>        }<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>      }<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>      iteration = (iteration == Long.MAX_VALUE) ? 0 : (iteration + 1);<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>    }<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>  }<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span><a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>  static class PeriodicMemstoreFlusher extends ScheduledChore {<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>    final HRegionServer server;<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>    final static int RANGE_OF_DELAY = 5 * 60 * 1000; // 5 min in milliseconds<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>    final static int MIN_DELAY_TIME = 0; // millisec<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>    public PeriodicMemstoreFlusher(int cacheFlushInterval, final HRegionServer server) {<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>      super(server.getServerName() + "-MemstoreFlusherChore", server, cacheFlushInterval);<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>      this.server = server;<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>    }<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span><a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>    @Override<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>    protected void chore() {<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>      final StringBuffer whyFlush = new StringBuffer();<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>      for (Region r : this.server.onlineRegions.values()) {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>        if (r == null) continue;<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>        if (((HRegion)r).shouldFlush(whyFlush)) {<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>          FlushRequester requester = server.getFlushRequester();<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>          if (requester != null) {<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>            long randomDelay = RandomUtils.nextInt(RANGE_OF_DELAY) + MIN_DELAY_TIME;<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span>            LOG.info(getName() + " requesting flush of " +<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>              r.getRegionInfo().getRegionNameAsString() + " because " +<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>              whyFlush.toString() +<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>              " after random delay " + randomDelay + "ms");<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>            //Throttle the flushes by putting a delay. If we don't throttle, and there<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>            //is a balanced write-load on the regions in a table, we might end up<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>            //overwhelming the filesystem with too many flushes at once.<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>            requester.requestDelayedFlush(r, randomDelay, false);<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>          }<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>        }<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>      }<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><a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>  /**<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>   * Report the status of the server. A server is online once all the startup is<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>   * completed (setting up filesystem, starting service threads, etc.). This<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>   * method is designed mostly to be useful in tests.<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>   *<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>   * @return true if online, false if not.<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>   */<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>  public boolean isOnline() {<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>    return online.get();<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>  }<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span><a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>  /**<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>   * Setup WAL log and replication if enabled.<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>   * Replication setup is done in here because it wants to be hooked up to WAL.<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>   * @return A WAL instance.<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>   * @throws IOException<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>   */<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>  private WALFactory setupWALAndReplication() throws IOException {<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>    // TODO Replication make assumptions here based on the default filesystem impl<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>    final Path oldLogDir = new Path(rootDir, HConstants.HREGION_OLDLOGDIR_NAME);<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>    final String logName = DefaultWALProvider.getWALDirectoryName(this.serverName.toString());<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span><a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>    Path logdir = new Path(rootDir, logName);<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>    if (LOG.isDebugEnabled()) LOG.debug("logdir=" + logdir);<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>    if (this.fs.exists(logdir)) {<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>      throw new RegionServerRunningException("Region server has already " +<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>        "created directory at " + this.serverName.toString());<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>    }<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span><a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>    // Instantiate replication manager if replication enabled.  Pass it the<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>    // log directories.<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>    createNewReplicationInstance(conf, this, this.fs, logdir, oldLogDir);<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span><a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>    // listeners the wal factory will add to wals it creates.<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>    final List&lt;WALActionsListener&gt; listeners = new ArrayList&lt;WALActionsListener&gt;();<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>    listeners.add(new MetricsWAL());<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>    if (this.replicationSourceHandler != null &amp;&amp;<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>        this.replicationSourceHandler.getWALActionsListener() != null) {<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>      // Replication handler is an implementation of WALActionsListener.<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>      listeners.add(this.replicationSourceHandler.getWALActionsListener());<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>    }<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span><a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>    return new WALFactory(conf, listeners, serverName.toString());<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>  }<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span><a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>  /**<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>   * We initialize the roller for the wal that handles meta lazily<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>   * since we don't know if this regionserver will handle it. All calls to<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>   * this method return a reference to the that same roller. As newly referenced<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>   * meta regions are brought online, they will be offered to the roller for maintenance.<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>   * As a part of that registration process, the roller will add itself as a<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>   * listener on the wal.<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>   */<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>  protected LogRoller ensureMetaWALRoller() {<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>    // Using a tmp log roller to ensure metaLogRoller is alive once it is not<a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>    // null<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>    LogRoller roller = metawalRoller.get();<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>    if (null == roller) {<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>      LogRoller tmpLogRoller = new LogRoller(this, this);<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>      String n = Thread.currentThread().getName();<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>      Threads.setDaemonThreadRunning(tmpLogRoller.getThread(),<a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>          n + "-MetaLogRoller", uncaughtExceptionHandler);<a name="line.1690"></a>
-<span class="sourceLineNo">1691</span>      if (metawalRoller.compareAndSet(null, tmpLogRoller)) {<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span>        roller = tmpLogRoller;<a name="line.1692"></a>
-<span class="sourceLineNo">1693</span>      } else {<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span>        // Another thread won starting the roller<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>        Threads.shutdown(tmpLogRoller.getThread());<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span>        roller = metawalRoller.get();<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>      }<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>    }<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span>    return roller;<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>  }<a name="line.1700"></a>
-<span class="sourceLineNo">1701</span><a name="line.1701"></a>
-<span class="sourceLineNo">1702</span>  public MetricsRegionServer getRegionServerMetrics() {<a name="line.1702"></a>
-<span class="sourceLineNo">1703</span>    return this.metricsRegionServer;<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span>  }<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span><a name="line.1705"></a>
-<span class="sourceLineNo">1706</span>  /**<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span>   * @return Master address tracker instance.<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span>   */<a name="line.1708"></a>
-<span class="sourceLineNo">1709</span>  public MasterAddressTracker getMasterAddressTracker() {<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>    return this.masterAddressTracker;<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span>  }<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span><a name="line.1712"></a>
-<span class="sourceLineNo">1713</span>  /*<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span>   * Start maintenance Threads, Server, Worker and lease checker threads.<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>   * Install an UncaughtExceptionHandler that calls abort of RegionServer if we<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span>   * get an unhandled exception. We cannot set the handler on all threads.<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span>   * Server's internal Listener thread is off limits. For Server, if an OOME, it<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span>   * waits a while then retries. Meantime, a flush or a compaction that tries to<a name="line.1718"></a>
-<span class="sourceLineNo">1719</span>   * run should trigger same critical condition and the shutdown will run. On<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>   * its way out, this server will shut down Server. Leases are sort of<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span>   * inbetween. It has an internal thread that while it inherits from Chore, it<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span>   * keeps its own internal stop mechanism so needs to be stopped by this<a name="line.1722"></a>
-<span class="sourceLineNo">1723</span>   * hosting server. Worker logs the exception and exits.<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span>   */<a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>  private void startServiceThreads() throws IOException {<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span>    // Start executor services<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span>    this.service.startExecutorService(ExecutorType.RS_OPEN_REGION,<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span>      conf.getInt("hbase.regionserver.executor.openregion.threads", 3));<a name="line.1728"></a>
-<span class="sourceLineNo">1729</span>    this.service.startExecutorService(ExecutorType.RS_OPEN_META,<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>      conf.getInt("hbase.regionserver.executor.openmeta.threads", 1));<a name="line.1730"></a>
-<span class="sourceLineNo">1731</span>    this.service.startExecutorService(ExecutorType.RS_CLOSE_REGION,<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span>      conf.getInt("hbase.regionserver.executor.closeregion.threads", 3));<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span>    this.service.startExecutorService(ExecutorType.RS_CLOSE_META,<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span>      conf.getInt("hbase.regionserver.executor.closemeta.threads", 1));<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>    if (conf.getBoolean(StoreScanner.STORESCANNER_PARALLEL_SEEK_ENABLE, false)) {<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span>      this.service.startExecutorService(ExecutorType.RS_PARALLEL_SEEK,<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span>        conf.getInt("hbase.storescanner.parallel.seek.threads", 10));<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span>    }<a name="line.1738"></a>
-<span class="sourceLineNo">1739</span>    this.service.startExecutorService(ExecutorType.RS_LOG_REPLAY_OPS, conf.getInt(<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>       "hbase.regionserver.wal.max.splitters", SplitLogWorkerCoordination.DEFAULT_MAX_SPLITTERS));<a name="line.1740"></a>
-<span class="sourceLineNo">1741</span>    // Start the threads for compacted files discharger<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span>    this.service.startExecutorService(ExecutorType.RS_COMPACTED_FILES_DISCHARGER,<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span>      conf.getInt(CompactionConfiguration.HBASE_HFILE_COMPACTION_DISCHARGER_THREAD_COUNT, 10));<a name="line.1743"></a>
-<span class="sourceLineNo">1744</span>    if (ServerRegionReplicaUtil.isRegionReplicaWaitForPrimaryFlushEnabled(conf)) {<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span>      this.service.startExecutorService(ExecutorType.RS_REGION_REPLICA_FLUSH_OPS,<a name="line.1745"></a>
-<span class="sourceLineNo">1746</span>        conf.getInt("hbase.regionserver.region.replica.flusher.threads",<a name="line.1746"></a>
-<span class="sourceLineNo">1747</span>          conf.getInt("hbase.regionserver.executor.openregion.threads", 3)));<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span>    }<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span><a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>    Threads.setDaemonThreadRunning(this.walRoller.getThread(), getName() + ".logRoller",<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span>        uncaughtExceptionHandler);<a name="line.1751"></a>
-<span class="sourceLineNo">1752</span>    this.cacheFlusher.start(uncaughtExceptionHandler);<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span><a name="line.1753"></a>
-<span class="sourceLineNo">1754</span>    if (this.compactionChecker != null) choreService.scheduleChore(compactionChecker);<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>    if (this.periodicFlusher != null) choreService.scheduleChore(periodicFlusher);<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span>    if (this.healthCheckChore != null) choreService.scheduleChore(healthCheckChore);<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span>    if (this.nonceManagerChore != null) choreService.scheduleChore(nonceManagerChore);<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span>    if (this.storefileRefresher != null) choreService.scheduleChore(storefileRefresher);<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span>    if (this.movedRegionsCleaner != null) choreService.scheduleChore(movedRegionsCleaner);<a name="line.1759"></a>
-<span class="sourceLineNo">1760</span><a name="line.1760"></a>
-<span class="sourceLineNo">1761</span>    // Leases is not a Thread. Internally it runs a daemon thread. If it gets<a name="line.1761"></a>
-<span class="sourceLineNo">1762</span>    // an unhandled exception, it will just exit.<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span>    Threads.setDaemonThreadRunning(this.leases.getThread(), getName() + ".leaseChecker",<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span>      uncaughtExceptionHandler);<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span><a name="line.1765"></a>
-<span class="sourceLineNo">1766</span>    if (this.replicationSourceHandler == this.replicationSinkHandler &amp;&amp;<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span>        this.replicationSourceHandler != null) {<a name="line.1767"></a>
-<span class="sourceLineNo">1768</span>      this.replicationSourceHandler.startReplicationService();<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span>    } else {<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span>      if (this.replicationSourceHandler != null) {<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span>        this.replicationSourceHandler.startReplicationService();<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span>      }<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span>      if (this.replicationSinkHandler != null) {<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span>        this.replicationSinkHandler.startReplicationService();<a name="line.1774"></a>
-<span class="sourceLineNo">1775</span>      }<a name="line.1775"></a>
-<span class="sourceLineNo">1776</span>    }<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span><a name="line.1777"></a>
-<span class="sourceLineNo">1778</span>    // Create the log splitting worker and start it<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span>    // set a smaller retries to fast fail otherwise splitlogworker could be blocked for<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span>    // quite a while inside HConnection layer. The worker won't be available for other<a name="line.1780"></a>
-<span class="sourceLineNo">1781</span>    // tasks even after current task is preempted after a split task times out.<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span>    Configuration sinkConf = HBaseConfiguration.create(conf);<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span>    sinkConf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.1783"></a>
-<span class="sourceLineNo">1784</span>      conf.getInt("hbase.log.replay.retries.number", 8)); // 8 retries take about 23 seconds<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span>    sinkConf.setInt(HConstants.HBASE_RPC_TIMEOUT_KEY,<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span>      conf.getInt("hbase.log.replay.rpc.timeout", 30000)); // default 30 seconds<a name="line.1786"></a>
-<span class="sourceLineNo">1787</span>    sinkConf.setInt("hbase.client.serverside.retries.multiplier", 1);<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span>    this.splitLogWorker = new SplitLogWorker(this, sinkConf, this, this, walFactory);<a name="line.1788"></a>
-<span class="sourceLineNo">1789</span>    splitLogWorker.start();<a name="line.1789"></a>
-<span class="sourceLineNo">1790</span>  }<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span><a name="line.1791"></a>
-<span class="sourceLineNo">1792</span>  /**<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span>   * Puts up the webui.<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span>   * @return Returns final port -- maybe different from what we started with.<a name="line.1794"></a>
-<span class="sourceLineNo">1795</span>   * @throws IOException<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span>   */<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span>  private int putUpWebUI() throws IOException {<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span>    int port = this.conf.getInt(HConstants.REGIONSERVER_INFO_PORT,<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span>      HConstants.DEFAULT_REGIONSERVER_INFOPORT);<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span>    String addr = this.conf.get("hbase.regionserver.info.bindAddress", "0.0.0.0");<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span><a name="line.1801"></a>
-<span class="sourceLineNo">1802</span>    if(this instanceof HMaster) {<a name="line.1802"></a>
-<span class="sourceLineNo">1803</span>      port = conf.getInt(HConstants.MASTER_INFO_PORT,<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span>          HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.1804"></a>
-<span class="sourceLineNo">1805</span>      addr = this.conf.get("hbase.master.info.bindAddress", "0.0.0.0");<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span>    }<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span>    // -1 is for disabling info server<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span>    if (port &lt; 0) return port;<a name="line.1808"></a>
-<span class="sourceLineNo">1809</span><a name="line.1809"></a>
-<span class="sourceLineNo">1810</span>    if (!Addressing.isLocalAddress(InetAddress.getByName(addr))) {<a name="line.1810"></a>
-<span class="sourceLineNo">1811</span>      String msg =<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span>          "Failed to start http info server. Address " + addr<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span>              + " does not belong to this host. Correct configuration parameter: "<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span>              + "hbase.regionserver.info.bindAddress";<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span>      LOG.error(msg);<a name="line.1815"></a>
-<span class="sourceLineNo">1816</span>      throw new IOException(msg);<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span>    }<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span>    // check if auto port bind enabled<a name="line.1818"></a>
-<span class="sourceLineNo">1819</span>    boolean auto = this.conf.getBoolean(HConstants.REGIONSERVER_INFO_PORT_AUTO,<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span>        false);<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span>    while (true) {<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span>      try {<a name="line.1822"></a>
-<span class="sourceLineNo">1823</span>        this.infoServer = new InfoServer(getProcessName(), addr, port, false, this.conf);<a name="line.1823"></a>
-<span class="sourceLineNo">1824</span>        infoServer.addServlet("dump", "/dump", getDumpServlet());<a name="line.1824"></a>
-<span class="sourceLineNo">1825</span>        configureInfoServer();<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span>        this.infoServer.start();<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span>        break;<a name="line.1827"></a>
-<span class="sourceLineNo">1828</span>      } catch (BindException e) {<a name="line.1828"></a>
-<span class="sourceLineNo">1829</span>        if (!auto) {<a name="line.1829"></a>
-<span class="sourceLineNo">1830</span>          // auto bind disabled throw BindException<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span>          LOG.error("Failed binding http info server to port: " + port);<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span>          throw e;<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span>        }<a name="line.1833"></a>
-<span class="sourceLineNo">1834</span>        // auto bind enabled, try to use another port<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span>        LOG.info("Failed binding http info server to port: " + port);<a name="line.1835"></a>
-<span class="sourceLineNo">1836</span>        port++;<a name="line.1836"></a>
-<span class="sourceLineNo">1837</span>      }<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span>    }<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span>    port = this.infoServer.getPort();<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span>    conf.setInt(HConstants.REGIONSERVER_INFO_PORT, port);<a name="line.1840"></a>
-<span class="sourceLineNo">1841</span>    int masterInfoPort = conf.getInt(HConstants.MASTER_INFO_PORT,<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span>      HConstants.DEFAULT_MASTER_INFOPORT);<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span>    conf.setInt("hbase.master.info.port.orig", masterInfoPort);<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span>    conf.setInt(HConstants.MASTER_INFO_PORT, port);<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span>    return port;<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span>  }<a name="line.1846"></a>
-<span class="sourceLineNo">1847</span><a name="line.1847"></a>
-<span class="sourceLineNo">1848</span>  /*<a name="line.1848"></a>
-<span class="sourceLineNo">1849</span>   * Verify that server is healthy<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span>   */<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span>  private boolean isHealthy() {<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span>    if (!fsOk) {<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span>      // File system problem<a name="line.1853"></a>
-<span class="sourceLineNo">1854</span>      return false;<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span>    }<a name="line.1855"></a>
-<span class="sourceLineNo">1856</span>    // Verify that all threads are alive<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span>    if (!(leases.isAlive()<a name="line.1857"></a>
-<span class="sourceLineNo">1858</span>        &amp;&amp; cacheFlusher.isAlive() &amp;&amp; walRoller.isAlive()<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span>        &amp;&amp; this.compactionChecker.isScheduled()<a name="line.1859"></a>
-<span class="sourceLineNo">1860</span>        &amp;&amp; this.periodicFlusher.isScheduled())) {<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span>      stop("One or more threads are no longer alive -- stop");<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span>      return false;<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span>    }<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span>    final LogRoller metawalRoller = this.metawalRoller.get();<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span>    if (metawalRoller != null &amp;&amp; !metawalRoller.isAlive()) {<a name="line.1865"></a>
-<span class="sourceLineNo">1866</span>      stop("Meta WAL roller thread is no longer alive -- stop");<a name="line.1866"></a>
-<span class="sourceLineNo">1867</span>      return false;<a name="line.1867"></a>
-<span class="sourceLineNo">1868</span>    }<a name="line.1868"></a>
-<span class="sourceLineNo">1869</span>    return true;<a name="line.1869"></a>
-<span class="sourceLineNo">1870</span>  }<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span><a name="line.1871"></a>
-<span class="sourceLineNo">1872</span>  private static final byte[] UNSPECIFIED_REGION = new byte[]{};<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span><a name="line.1873"></a>
-<span class="sourceLineNo">1874</span>  @Override<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span>  public WAL getWAL(HRegionInfo regionInfo) throws IOException {<a name="line.1875"></a>
-<span class="sourceLineNo">1876</span>    WAL wal;<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span>    LogRoller roller = walRoller;<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span>    //_ROOT_ and hbase:meta regions have separate WAL.<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span>    if (regionInfo != null &amp;&amp; regionInfo.isMetaTable() &amp;&amp;<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span>        regionInfo.getReplicaId() == HRegionInfo.DEFAULT_REPLICA_ID) {<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span>      roller = ensureMetaWALRoller();<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span>      wal = walFactory.getMetaWAL(regionInfo.getEncodedNameAsBytes());<a name="line.1882"></a>
-<span class="sourceLineNo">1883</span>    } else if (regionInfo == null) {<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span>      wal = walFactory.getWAL(UNSPECIFIED_REGION, null);<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span>    } else {<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span>      byte[] namespace = regionInfo.getTable().getNamespace();<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span>      wal = walFactory.getWAL(regionInfo.getEncodedNameAsBytes(), namespace);<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span>    }<a name="line.1888"></a>
-<span class="sourceLineNo">1889</span>    roller.addWAL(wal);<a name="line.1889"></a>
-<span class="sourceLineNo">1890</span>    return wal;<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span>  }<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span><a name="line.1892"></a>
-<span class="sourceLineNo">1893</span>  @Override<a name="line.1893"></a>
-<span class="sourceLineNo">1894</span>  public Connection getConnection() {<a name="line.1894"></a>
-<span class="sourceLineNo">1895</span>    return getClusterConnection();<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>  @Override<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>  public ClusterConnection getClusterConnection() {<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>    return this.clusterConnection;<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>  }<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span><a name="line.1902"></a>
-<span class="sourceLineNo">1903</span>  @Override<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>  public MetaTableLocator getMetaTableLocator() {<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>    return this.metaTableLocator;<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>  }<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span><a name="line.1907"></a>
-<span class="sourceLineNo">1908</span>  @Override<a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>  public void stop(final String msg) {<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>    if (!this.stopped) {<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>      try {<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>        if (this.rsHost != null) {<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>          this.rsHost.preStop(msg);<a name="line.1913"></a>
-<span class="sourceLineNo">1914</span>        }<a name="line.1914"></a>
-<span class="sourceLineNo">1915</span>        this.stopped = true;<a name="line.1915"></a>
-<span class="sourceLineNo">1916</span>        LOG.info("STOPPED: " + msg);<a name="line.1916"></a>
-<span class="sourceLineNo">1917</span>        // Wakes run() if it is sleeping<a name="line.1917"></a>
-<span class="sourceLineNo">1918</span>        sleeper.skipSleepCycle();<a name="line.1918"></a>
-<span class="sourceLineNo">1919</span>      } catch (IOException exp) {<a name="line.1919"></a>
-<span class="sourceLineNo">1920</span>        LOG.warn("The region server did not stop", exp);<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>  }<a name="line.1923"></a>
-<span class="sourceLineNo">1924</span><a name="line.1924"></a>
-<span class="sourceLineNo">1925</span>  public void waitForServerOnline(){<a name="line.1925"></a>
-<span class="sourceLineNo">1926</span>    while (!isStopped() &amp;&amp; !isOnline()) {<a name="line.1926"></a>
-<span class="sourceLineNo">1927</span>      synchronized (online) {<a name="line.1927"></a>
-<span class="sourceLineNo">1928</span>        try {<a name="line.1928"></a>
-<span class="sourceLineNo">1929</span>          online.wait(msgInterval);<a name="line.1929"></a>
-<span class="sourceLineNo">1930</span>        } catch (InterruptedException ie) {<a name="line.1930"></a>
-<span class="sourceLineNo">1931</span>          Thread.currentThread().interrupt();<a name="line.1931"></a>
-<span class="sourceLineNo">1932</span>          break;<a name="line.1932"></a>
-<span class="sourceLineNo">1933</span>        }<a name="line.1933"></a>
-<span class="sourceLineNo">1934</span>      }<a name="line.1934"></a>
-<span class="sourceLineNo">1935</span>    }<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 void postOpenDeployTasks(final Region r) throws KeeperException, IOException {<a name="line.1939"></a>
-<span class="sourceLineNo">1940</span>    postOpenDeployTasks(new PostOpenDeployContext(r, -1));<a name="line.1940"></a>
-<span class="sourceLineNo">1941</span>  }<a name="line.1941"></a>
-<span class="sourceLineNo">1942</span><a name="line.1942"></a>
-<span class="sourceLineNo">1943</span>  @Override<a name="line.1943"></a>
-<span class="sourceLineNo">1944</span>  public void postOpenDeployTasks(final PostOpenDeployContext context)<a name="line.1944"></a>
-<span class="sourceLineNo">1945</span>      throws KeeperException, IOException {<a name="line.1945"></a>
-<span class="sourceLineNo">1946</span>    Region r = context.getRegion();<a name="line.1946"></a>
-<span class="sourceLineNo">1947</span>    long masterSystemTime = context.getMasterSystemTime();<a name="line.1947"></a>
-<span class="sourceLineNo">1948</span>    Preconditions.checkArgument(r instanceof HRegion, "r must be an HRegion");<a name="line.1948"></a>
-<span class="sourceLineNo">1949</span>    rpcServices.checkOpen();<a name="line.1949"></a>
-<span class="sourceLineNo">1950</span>    LOG.info("Post open deploy tasks for " + r.getRegionInfo().getRegionNameAsString());<a name="line.1950"></a>
-<span class="sourceLineNo">1951</span>    // Do checks to see if we need to compact (references or too many files)<a name="line.1951"></a>
-<span class="sourceLineNo">1952</span>    for (Store s : r.getStores()) {<a name="line.1952"></a>
-<span class="sourceLineNo">1953</span>      if (s.hasReferences() || s.needsCompaction()) {<a name="line.1953"></a>
-<span class="sourceLineNo">1954</span>       this.compactSplitThread.requestSystemCompaction(r, s, "Opening Region");<a name="line.1954"></a>
-<span class="sourceLineNo">1955</span>      }<a name="line.1955"></a>
-<span class="sourceLineNo">1956</span>    }<a name="line.1956"></a>
-<span class="sourceLineNo">1957</span>    long openSeqNum = r.getOpenSeqNum();<a name="line.1957"></a>
-<span class="sourceLineNo">1958</span>    if (openSeqNum == HConstants.NO_SEQNUM) {<a name="line.1958"></a>
-<span class="sourceLineNo">1959</span>      // If we opened a region, we should have read some sequence number from it.<a name="line.1959"></a>
-<span class="sourceLineNo">1960</span>      LOG.error("No sequence number found when opening " +<a name="line.1960"></a>
-<span class="sourceLineNo">1961</span>        r.getRegionInfo().getRegionNameAsString());<a name="line.1961"></a>
-<span class="sourceLineNo">1962</span>      openSeqNum = 0;<a name="line.1962"></a>
-<span class="sourceLineNo">1963</span>    }<a name="line.1963"></a>
-<span class="sourceLineNo">1964</span><a name="line.1964"></a>
-<span class="sourceLineNo">1965</span>    // Update flushed sequence id of a recovering region in ZK<a name="line.1965"></a>
-<span class="sourceLineNo">1966</span>    updateRecoveringRegionLastFlushedSequenceId(r);<a name="line.1966"></a>
-<span class="sourceLineNo">1967</span><a name="line.1967"></a>
-<span class="sourceLineNo">1968</span>    // Notify master<a name="line.1968"></a>
-<span class="sourceLineNo">1969</span>    if (!reportRegionStateTransition(new RegionStateTransitionContext(<a name="line.1969"></a>
-<span class="sourceLineNo">1970</span>        TransitionCode.OPENED, openSeqNum, masterSystemTime, r.getRegionInfo()))) {<a name="line.1970"></a>
-<span class="sourceLineNo">1971</span>      throw new IOException("Failed to report opened region to master: "<a name="line.1971"></a>
-<span class="sourceLineNo">1972</span>        + r.getRegionInfo().getRegionNameAsString());<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>    triggerFlushInPrimaryRegion((HRegion)r);<a name="line.1975"></a>
-<span class="sourceLineNo">1976</span><a name="line.1976"></a>
-<span class="sourceLineNo">1977</span>    LOG.debug("Finished post open deploy task for " + r.getRegionInfo().getRegionNameAsString());<a name="line.1977"></a>
-<span class="sourceLineNo">1978</span>  }<a name="line.1978"></a>
-<span class="sourceLineNo">1979</span><a name="line.1979"></a>
-<span class="sourceLineNo">1980</span>  @Override<a name="line.1980"></a>
-<span class="sourceLineNo">1981</span>  public boolean reportRegionStateTransition(TransitionCode code, HRegionInfo... hris) {<a name="line.1981"></a>
-<span class="sourceLineNo">1982</span>    return reportRegionStateTransition(code, HConstants.NO_SEQNUM, hris);<a name="line.1982"></a>
-<span class="sourceLineNo">1983</span>  }<a name="line.1983"></a>
-<span class="sourceLineNo">1984</span><a name="line.1984"></a>
-<span class="sourceLineNo">1985</span>  @Override<a name="line.1985"></a>
-<span class="sourceLineNo">1986</span>  public boolean reportRegionStateTransition(<a name="line.1986"></a>
-<span class="sourceLineNo">1987</span>      TransitionCode code, long openSeqNum, HRegionInfo... hris) {<a name="line.1987"></a>
-<span class="sourceLineNo">1988</span>    return reportRegionStateTransition(<a name="line.1988"></a>
-<span class="sourceLineNo">1989</span>      new RegionStateTransitionContext(code, HConstants.NO_SEQNUM, -1, hris));<a name="line.1989"></a>
-<span class="sourceLineNo">1990</span>  }<a name="line.1990"></a>
-<span class="sourceLineNo">1991</span><a name="line.1991"></a>
-<span class="sourceLineNo">1992</span>  @Override<a name="line.1992"></a>
-<span class="sourceLineNo">1993</span>  public boolean reportRegionStateTransition(final RegionStateTransitionContext context) {<a name="line.1993"></a>
-<span class="sourceLineNo">1994</span>    TransitionCode code = context.getCode();<a name="line.1994"></a>
-<span class="sourceLineNo">1995</span>    long openSeqNum = context.getOpenSeqNum();<a name="line.1995"></a>
-<span class="sourceLineNo">1996</span>    long masterSystemTime = context.getMasterSystemTime();<a name="line.1996"></a>
-<span class="sourceLineNo">1997</span>    HRegionInfo[] hris = context.getHris();<a name="line.1997"></a>
-<span class="sourceLineNo">1998</span><a name="line.1998"></a>
-<span class="sourceLineNo">1999</span>    if (TEST_SKIP_REPORTING_TRANSITION) {<a name="line.1999"></a>
-<span class="sourceLineNo">2000</span>      // This is for testing only in case there is no master<a name="line.2000"></a>
-<span class="sourceLineNo">2001</span>      // to handle the region transition report at all.<a name="line.2001"></a>
-<span class="sourceLineNo">2002</span>      if (code == TransitionCode.OPENED) {<a name="line.2002"></a>
-<span class="sourceLineNo">2003</span>        Preconditions.checkArgument(hris != null &amp;&amp; hris.length == 1);<a name="line.2003"></a>
-<span class="sourceLineNo">2004</span>        if (hris[0].isMetaRegion()) {<a name="line.2004"></a>
-<span class="sourceLineNo">2005</span>          try {<a name="line.2005"></a>
-<span class="sourceLineNo">2006</span>            MetaTableLocator.setMetaLocation(getZooKeeper(), serverName,<a name="line.2006"></a>
-<span class="sourceLineNo">2007</span>                hris[0].getReplicaId(),State.OPEN);<a name="line.2007"></a>
-<span class="sourceLineNo">2008</span>          } catch (KeeperException e) {<a name="line.2008"></a>
-<span class="sourceLineNo">2009</span>            LOG.info("Failed to update meta location", e);<a name="line.2009"></a>
-<span class="sourceLineNo">2010</span>            return false;<a name="line.2010"></a>
-<span class="sourceLineNo">2011</span>          }<a name="line.2011"></a>
-<span class="sourceLineNo">2012</span>        } else {<a name="line.2012"></a>
-<span class="sourceLineNo">2013</span>          try {<a name="line.2013"></a>
-<span class="sourceLineNo">2014</span>            MetaTableAccessor.updateRegionLocation(clusterConnection,<a name="line.2014"></a>
-<span class="sourceLineNo">2015</span>              hris[0], serverName, openSeqNum, masterSystemTime);<a name="line.2015"></a>
-<span class="sourceLineNo">2016</span>          } catch (IOException e) {<a name="line.2016"></a>
-<span class="sourceLineNo">2017</span>            LOG.info("Failed to update meta", e);<a name="line.2017"></a>
-<span class="sourceLineNo">2018</span>            return false;<a name="line.2018"></a>
-<span class="sourceLineNo">2019</span>          }<a name="line.2019"></a>
-<span class="sourceLineNo">2020</span>        }<a name="line.2020"></a>
-<span class="sourceLineNo">2021</span>      }<a name="line.2021"></a>
-<span class="sourceLineNo">2022</span>      return true;<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>    ReportRegionStateTransitionRequest.Builder builder =<a name="line.2025"></a>
-<span class="sourceLineNo">2026</span>      ReportRegionStateTransitionRequest.newBuilder();<a name="line.2026"></a>
-<span class="sourceLineNo">2027</span>    builder.setServer(ProtobufUtil.toServerName(serverName));<a name="line.2027"></a>
-<span class="sourceLineNo">2028</span>    RegionStateTransition.Builder transition = builder.addTransitionBuilder();<a name="line.2028"></a>
-<span class="sourceLineNo">2029</span>    transition.setTransitionCode(code);<a name="line.2029"></a>
-<span class="sourceLineNo">2030</span>    if (code == TransitionCode.OPENED &amp;&amp; openSeqNum &gt;= 0) {<a name="line.2030"></a>
-<span class="sourceLineNo">2031</span>      transition.setOpenSeqNum(openSeqNum);<a name="line.2031"></a>
-<span class="sourceLineNo">2032</span>    }<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>    for (HRegionInfo hri: hris) {<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>      transition.addRegionInfo(HRegionInfo.convert(hri));<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span>    }<a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>    ReportRegionStateTransitionRequest request = builder.build();<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>    while (keepLooping()) {<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2038"></a>
-<span class="sourceLineNo">2039</span>      try {<a name="line.2039"></a>
-<span class="sourceLineNo">2040</span>        if (rss == null) {<a name="line.2040"></a>
-<span class="sourceLineNo">2041</span>          createRegionServerStatusStub();<a name="line.2041"></a>
-<span class="sourceLineNo">2042</span>          continue;<a name="line.2042"></a>
-<span class="sourceLineNo">2043</span>        }<a name="line.2043"></a>
-<span class="sourceLineNo">2044</span>        ReportRegionStateTransitionResponse response =<a name="line.2044"></a>
-<span class="sourceLineNo">2045</span>          rss.reportRegionStateTransition(null, request);<a name="line.2045"></a>
-<span class="sourceLineNo">2046</span>        if (response.hasErrorMessage()) {<a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>          LOG.info("Failed to transition " + hris[0]<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>            + " to " + code + ": " + response.getErrorMessage());<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>          return false;<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>        }<a name="line.2050"></a>
-<span class="sourceLineNo">2051</span>        return true;<a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>      } catch (ServiceException se) {<a name="line.2052"></a>
-<span class="sourceLineNo">2053</span>        IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>        LOG.info("Failed to report region transition, will retry", ioe);<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span>        if (rssStub == rss) {<a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>          rssStub = null;<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>    return false;<a name="line.2060"></a>
-<span class="sourceLineNo">2061</span>  }<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span><a name="line.2062"></a>
-<span class="sourceLineNo">2063</span>  /**<a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>   * Trigger a flush in the primary region replica if this region is a secondary replica. Does not<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span>   * block this thread. See RegionReplicaFlushHandler for details.<a name="line.2065"></a>
-<span class="sourceLineNo">2066</span>   */<a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>  void triggerFlushInPrimaryRegion(final HRegion region) {<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>    if (ServerRegionReplicaUtil.isDefaultReplica(region.getRegionInfo())) {<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span>      return;<a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>    }<a name="line.2070"></a>
-<span class="sourceLineNo">2071</span>    if (!ServerRegionReplicaUtil.isRegionReplicaReplicationEnabled(region.conf) ||<a name="line.2071"></a>
-<span class="sourceLineNo">2072</span>        !ServerRegionReplicaUtil.isRegionReplicaWaitForPrimaryFlushEnabled(<a name="line.2072"></a>
-<span class="sourceLineNo">2073</span>          region.conf)) {<a name="line.2073"></a>
-<span class="sourceLineNo">2074</span>      region.setReadsEnabled(true);<a name="line.2074"></a>
-<span class="sourceLineNo">2075</span>      return;<a name="line.2075"></a>
-<span class="sourceLineNo">2076</span>    }<a name="line.2076"></a>
-<span class="sourceLineNo">2077</span><a name="line.2077"></a>
-<span class="sourceLineNo">2078</span>    region.setReadsEnabled(false); // disable reads before marking the region as opened.<a name="line.2078"></a>
-<span class="sourceLineNo">2079</span>    // RegionReplicaFlushHandler might reset this.<a name="line.2079"></a>
-<span class="sourceLineNo">2080</span><a name="line.2080"></a>
-<span class="sourceLineNo">2081</span>    // submit it to be handled by one of the handlers so that we do not block OpenRegionHandler<a name="line.2081"></a>
-<span class="sourceLineNo">2082</span>    this.service.submit(<a name="line.2082"></a>
-<span class="sourceLineNo">2083</span>      new RegionReplicaFlushHandler(this, clusterConnection,<a name="line.2083"></a>
-<span class="sourceLineNo">2084</span>        rpcRetryingCallerFactory, rpcControllerFactory, operationTimeout, region));<a name="line.2084"></a>
-<span class="sourceLineNo">2085</span>  }<a name="line.2085"></a>
-<span class="sourceLineNo">2086</span><a name="line.2086"></a>
-<span class="sourceLineNo">2087</span>  @Override<a name="line.2087"></a>
-<span class="sourceLineNo">2088</span>  public RpcServerInterface getRpcServer() {<a name="line.2088"></a>
-<span class="sourceLineNo">2089</span>    return rpcServices.rpcServer;<a name="line.2089"></a>
-<span class="sourceLineNo">2090</span>  }<a name="line.2090"></a>
-<span class="sourceLineNo">2091</span><a name="line.2091"></a>
-<span class="sourceLineNo">2092</span>  @VisibleForTesting<a name="line.2092"></a>
-<span class="sourceLineNo">2093</span>  public RSRpcServices getRSRpcServices() {<a name="line.2093"></a>
-<span class="sourceLineNo">2094</span>    return rpcServices;<a name="line.2094"></a>
-<span class="sourceLineNo">2095</span>  }<a name="line.2095"></a>
-<span class="sourceLineNo">2096</span><a name="line.2096"></a>
-<span class="sourceLineNo">2097</span>  /**<a name="line.2097"></a>
-<span class="sourceLineNo">2098</span>   * Cause the server to exit without closing the regions it is serving, the log<a name="line.2098"></a>
-<span class="sourceLineNo">2099</span>   * it is using and without notifying the master. Used unit testing and on<a name="line.2099"></a>
-<span class="sourceLineNo">2100</span>   * catastrophic events such as HDFS is yanked out from under hbase or we OOME.<a name="line.2100"></a>
-<span class="sourceLineNo">2101</span>   *<a name="line.2101"></a>
-<span class="sourceLineNo">2102</span>   * @param reason<a name="line.2102"></a>
-<span class="sourceLineNo">2103</span>   *          the reason we are aborting<a name="line.2103"></a>
-<span class="sourceLineNo">2104</span>   * @param cause<a name="line.2104"></a>
-<span class="sourceLineNo">2105</span>   *          the exception that caused the abort, or null<a name="line.2105"></a>
-<span class="sourceLineNo">2106</span>   */<a name="line.2106"></a>
-<span class="sourceLineNo">2107</span>  @Override<a name="line.2107"></a>
-<span class="sourceLineNo">2108</span>  public void abort(String reason, Throwable cause) {<a name="line.2108"></a>
-<span class="sourceLineNo">2109</span>    String msg = "ABORTING region server " + this + ": " + reason;<a name="line.2109"></a>
-<span class="sourceLineNo">2110</span>    if (cause != null) {<a name="line.2110"></a>
-<span class="sourceLineNo">2111</span>      LOG.fatal(msg, cause);<a name="line.2111"></a>
-<span class="sourceLineNo">2112</span>    } else {<a name="line.2112"></a>
-<span class="sourceLineNo">2113</span>      LOG.fatal(msg);<a name="line.2113"></a>
-<span class="sourceLineNo">2114</span>    }<a name="line.2114"></a>
-<span class="sourceLineNo">2115</span>    this.abortRequested = true;<a name="line.2115"></a>
-<span class="sourceLineNo">2116</span>    // HBASE-4014: show list of coprocessors that were loaded to help debug<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span>    // regionserver crashes.Note that we're implicitly using<a name="line.2117"></a>
-<span class="sourceLineNo">2118</span>    // java.util.HashSet's toString() method to print the coprocessor names.<a name="line.2118"></a>
-<span class="sourceLineNo">2119</span>    LOG.fatal("RegionServer abort: loaded coprocessors are: " +<a name="line.2119"></a>
-<span class="sourceLineNo">2120</span>        CoprocessorHost.getLoadedCoprocessors());<a name="line.2120"></a>
-<span class="sourceLineNo">2121</span>    // Try and dump metrics if abort -- might give clue as to how fatal came about....<a name="line.2121"></a>
-<span class="sourceLineNo">2122</span>    try {<a name="line.2122"></a>
-<span class="sourceLineNo">2123</span>      LOG.info("Dump of metrics as JSON on abort: " + JSONBean.dumpRegionServerMetrics());<a name="line.2123"></a>
-<span class="sourceLineNo">2124</span>    } catch (MalformedObjectNameException | IOException e) {<a name="line.2124"></a>
-<span class="sourceLineNo">2125</span>      LOG.warn("Failed dumping metrics", e);<a name="line.2125"></a>
-<span class="sourceLineNo">2126</span>    }<a name="line.2126"></a>
-<span class="sourceLineNo">2127</span><a name="line.2127"></a>
-<span class="sourceLineNo">2128</span>    // Do our best to report our abort to the master, but this may not work<a name="line.2128"></a>
-<span class="sourceLineNo">2129</span>    try {<a name="line.2129"></a>
-<span class="sourceLineNo">2130</span>      if (cause != null) {<a name="line.2130"></a>
-<span class="sourceLineNo">2131</span>        msg += "\nCause:\n" + StringUtils.stringifyException(cause);<a name="line.2131"></a>
-<span class="sourceLineNo">2132</span>      }<a name="line.2132"></a>
-<span class="sourceLineNo">2133</span>      // Report to the master but only if we have already registered with the master.<a name="line.2133"></a>
-<span class="sourceLineNo">2134</span>      if (rssStub != null &amp;&amp; this.serverName != null) {<a name="line.2134"></a>
-<span class="sourceLineNo">2135</span>        ReportRSFatalErrorRequest.Builder builder =<a name="line.2135"></a>
-<span class="sourceLineNo">2136</span>          ReportRSFatalErrorRequest.newBuilder();<a name="line.2136"></a>
-<span class="sourceLineNo">2137</span>        ServerName sn =<a name="line.2137"></a>
-<span class="sourceLineNo">2138</span>          ServerName.parseVersionedServerName(this.serverName.getVersionedBytes());<a name="line.2138"></a>
-<span class="sourceLineNo">2139</span>        builder.setServer(ProtobufUtil.toServerName(sn));<a name="line.2139"></a>
-<span class="sourceLineNo">2140</span>        builder.setErrorMessage(msg);<a name="line.2140"></a>
-<span class="sourceLineNo">2141</span>        rssStub.reportRSFatalError(null, builder.build());<a name="line.2141"></a>
-<span class="sourceLineNo">2142</span>      }<a name="line.2142"></a>
-<span class="sourceLineNo">2143</span>    } catch (Throwable t) {<a name="line.2143"></a>
-<span class="sourceLineNo">2144</span>      LOG.warn("Unable to report fatal error to master", t);<a name="line.2144"></a>
-<span class="sourceLineNo">2145</span>    }<a name="line.2145"></a>
-<span class="sourceLineNo">2146</span>    stop(reason);<a name="line.2146"></a>
-<span class="sourceLineNo">2147</span>  }<a name="line.2147"></a>
-<span class="sourceLineNo">2148</span><a name="line.2148"></a>
-<span class="sourceLineNo">2149</span>  /**<a name="line.2149"></a>
-<span class="sourceLineNo">2150</span>   * @see HRegionServer#abort(String, Throwable)<a name="line.2150"></a>
-<span class="sourceLineNo">2151</span>   */<a name="line.2151"></a>
-<span class="sourceLineNo">2152</span>  public void abort(String reason) {<a name="line.2152"></a>
-<span class="sourceLineNo">2153</span>    abort(reason, null);<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>  @Override<a name="line.2156"></a>
-<span class="sourceLineNo">2157</span>  public boolean isAborted() {<a name="line.2157"></a>
-<span class="sourceLineNo">2158</span>    return this.abortRequested;<a name="line.2158"></a>
-<span class="sourceLineNo">2159</span>  }<a name="line.2159"></a>
-<span class="sourceLineNo">2160</span><a name="line.2160"></a>
-<span class="sourceLineNo">2161</span>  /*<a name="line.2161"></a>
-<span class="sourceLineNo">2162</span>   * Simulate a kill -9 of this server. Exits w/o closing regions or cleaninup<a name="line.2162"></a>
-<span class="sourceLineNo">2163</span>   * logs but it does close socket in case want to bring up server on old<a name="line.2163"></a>
-<span class="sourceLineNo">2164</span>   * hostname+port immediately.<a name="line.2164"></a>
-<span class="sourceLineNo">2165</span>   */<a name="line.2165"></a>
-<span class="sourceLineNo">2166</span>  protected void kill() {<a name="line.2166"></a>
-<span class="sourceLineNo">2167</span>    this.killed = true;<a name="line.2167"></a>
-<span class="sourceLineNo">2168</span>    abort("Simulated kill");<a name="line.2168"></a>
-<span class="sourceLineNo">2169</span>  }<a name="line.2169"></a>
-<span class="sourceLineNo">2170</span><a name="line.2170"></a>
-<span class="sourceLineNo">2171</span>  /**<a name="line.2171"></a>
-<span class="sourceLineNo">2172</span>   * Called on stop/abort before closing the cluster connection and meta locator.<a name="line.2172"></a>
-<span class="sourceLineNo">2173</span>   */<a name="line.2173"></a>
-<span class="sourceLineNo">2174</span>  protected void sendShutdownInterrupt() {<a name="line.2174"></a>
-<span class="sourceLineNo">2175</span>  }<a name="line.2175"></a>
-<span class="sourceLineNo">2176</span><a name="line.2176"></a>
-<span class="sourceLineNo">2177</span>  /**<a name="line.2177"></a>
-<span class="sourceLineNo">2178</span>   * Wait on all threads to finish. Presumption is that all closes and stops<a name="line.2178"></a>
-<span class="sourceLineNo">2179</span>   * have already been called.<a name="line.2179"></a>
-<span class="sourceLineNo">2180</span>   */<a name="line.2180"></a>
-<span class="sourceLineNo">2181</span>  protected void stopServiceThreads() {<a name="line.2181"></a>
-<span class="sourceLineNo">2182</span>    // clean up the scheduled chores<a name="line.2182"></a>
-<span class="sourceLineNo">2183</span>    if (this.choreService != null) choreService.shutdown();<a name="line.2183"></a>
-<span class="sourceLineNo">2184</span>    if (this.nonceManagerChore != null) nonceManagerChore.cancel(true);<a name="line.2184"></a>
-<span class="sourceLineNo">2185</span>    if (this.compactionChecker != null) compactionChecker.cancel(true);<a name="line.2185"></a>
-<span class="sourceLineNo">2186</span>    if (this.periodicFlusher != null) periodicFlusher.cancel(true);<a name="line.2186"></a>
-<span class="sourceLineNo">2187</span>    if (this.healthCheckChore != null) healthCheckChore.cancel(true);<a name="line.2187"></a>
-<span class="sourceLineNo">2188</span>    if (this.storefileRefresher != null) storefileRefresher.cancel(true);<a name="line.2188"></a>
-<span class="sourceLineNo">2189</span>    if (this.movedRegionsCleaner != null) movedRegionsCleaner.cancel(true);<a name="line.2189"></a>
-<span class="sourceLineNo">2190</span><a name="line.2190"></a>
-<span class="sourceLineNo">2191</span>    if (this.cacheFlusher != null) {<a name="line.2191"></a>
-<span class="sourceLineNo">2192</span>      this.cacheFlusher.join();<a name="line.2192"></a>
-<span class="sourceLineNo">2193</span>    }<a name="line.2193"></a>
-<span class="sourceLineNo">2194</span><a name="line.2194"></a>
-<span class="sourceLineNo">2195</span>    if (this.spanReceiverHost != null) {<a name="line.2195"></a>
-<span class="sourceLineNo">2196</span>      this.spanReceiverHost.closeReceivers();<a name="line.2196"></a>
-<span class="sourceLineNo">2197</span>    }<a name="line.2197"></a>
-<span class="sourceLineNo">2198</span>    if (this.walRoller != null) {<a name="line.2198"></a>
-<span class="sourceLineNo">2199</span>      Threads.shutdown(this.walRoller.getThread());<a name="line.2199"></a>
-<span class="sourceLineNo">2200</span>    }<a name="line.2200"></a>
-<span class="sourceLineNo">2201</span>    final LogRoller metawalRoller = this.metawalRoller.get();<a name="line.2201"></a>
-<span class="sourceLineNo">2202</span>    if (metawalRoller != null) {<a name="line.2202"></a>
-<span class="sourceLineNo">2203</span>      Threads.shutdown(metawalRoller.getThread());<a name="line.2203"></a>
-<span class="sourceLineNo">2204</span>    }<a name="line.2204"></a>
-<span class="sourceLineNo">2205</span>    if (this.compactSplitThread != null) {<a name="line.2205"></a>
-<span class="sourceLineNo">2206</span>      this.compactSplitThread.join();<a name="line.2206"></a>
-<span class="sourceLineNo">2207</span>    }<a name="line.2207"></a>
-<span class="sourceLineNo">2208</span>    if (this.service != null) this.service.shutdown();<a name="line.2208"></a>
-<span class="sourceLineNo">2209</span>    if (this.replicationSourceHandler != null &amp;&amp;<a name="line.2209"></a>
-<span class="sourceLineNo">2210</span>        this.replicationSourceHandler == this.replicationSinkHandler) {<a name="line.2210"></a>
-<span class="sourceLineNo">2211</span>      this.replicationSourceHandler.stopReplicationService();<a name="line.2211"></a>
-<span class="sourceLineNo">2212</span>    } else {<a name="line.2212"></a>
-<span class="sourceLineNo">2213</span>      if (this.replicationSourceHandler != null) {<a name="line.2213"></a>
-<span class="sourceLineNo">2214</span>        this.replicationSourceHandler.stopReplicationService();<a name="line.2214"></a>
-<span class="sourceLineNo">2215</span>      }<a name="line.2215"></a>
-<span class="sourceLineNo">2216</span>      if (this.replicationSinkHandler != null) {<a name="line.2216"></a>
-<span class="sourceLineNo">2217</span>        this.replicationSinkHandler.stopReplicationService();<a name="line.2217"></a>
-<span class="sourceLineNo">2218</span>      }<a name="line.2218"></a>
-<span class="sourceLineNo">2219</span>    }<a name="line.2219"></a>
-<span class="sourceLineNo">2220</span>  }<a name="line.2220"></a>
-<span class="sourceLineNo">2221</span><a name="line.2221"></a>
-<span class="sourceLineNo">2222</span>  /**<a name="line.2222"></a>
-<span class="sourceLineNo">2223</span>   * @return Return the object that implements the replication<a name="line.2223"></a>
-<span class="sourceLineNo">2224</span>   * source service.<a name="line.2224"></a>
-<span class="sourceLineNo">2225</span>   */<a name="line.2225"></a>
-<span class="sourceLineNo">2226</span>  ReplicationSourceService getReplicationSourceService() {<a name="line.2226"></a>
-<span class="sourceLineNo">2227</span>    return replicationSourceHandler;<a name="line.2227"></a>
-<span class="sourceLineNo">2228</span>  }<a name="line.2228"></a>
-<span class="sourceLineNo">2229</span><a name="line.2229"></a>
-<span class="sourceLineNo">2230</span>  /**<a name="line.2230"></a>
-<span class="sourceLineNo">2231</span>   * @return Return the object that implements the replication<a name="line.2231"></a>
-<span class="sourceLineNo">2232</span>   * sink service.<a name="line.2232"></a>
-<span class="sourceLineNo">2233</span>   */<a name="line.2233"></a>
-<span class="sourceLineNo">2234</span>  ReplicationSinkService getReplicationSinkService() {<a name="line.2234"></a>
-<span class="sourceLineNo">2235</span>    return replicationSinkHandler;<a name="line.2235"></a>
-<span class="sourceLineNo">2236</span>  }<a name="line.2236"></a>
-<span class="sourceLineNo">2237</span><a name="line.2237"></a>
-<span class="sourceLineNo">2238</span>  /**<a name="line.2238"></a>
-<span class="sourceLineNo">2239</span>   * Get the current master from ZooKeeper and open the RPC connection to it.<a name="line.2239"></a>
-<span class="sourceLineNo">2240</span>   * To get a fresh connection, the current rssStub must be null.<a name="line.2240"></a>
-<span class="sourceLineNo">2241</span>   * Method will block until a master is available. You can break from this<a name="line.2241"></a>
-<span class="sourceLineNo">2242</span>   * block by requesting the server stop.<a name="line.2242"></a>
-<span class="sourceLineNo">2243</span>   *<a name="line.2243"></a>
-<span class="sourceLineNo">2244</span>   * @return master + port, or null if server has been stopped<a name="line.2244"></a>
-<span class="sourceLineNo">2245</span>   */<a name="line.2245"></a>
-<span class="sourceLineNo">2246</span>  @VisibleForTesting<a name="line.2246"></a>
-<span class="sourceLineNo">2247</span>  protected synchronized ServerName createRegionServerStatusStub() {<a name="line.2247"></a>
-<span class="sourceLineNo">2248</span>    if (rssStub != null) {<a name="line.2248"></a>
-<span class="sourceLineNo">2249</span>      return masterAddressTracker.getMasterAddress();<a name="line.2249"></a>
-<span class="sourceLineNo">2250</span>    }<a name="line.2250"></a>
-<span class="sourceLineNo">2251</span>    ServerName sn = null;<a name="line.2251"></a>
-<span class="sourceLineNo">2252</span>    long previousLogTime = 0;<a name="line.2252"></a>
-<span class="sourceLineNo">2253</span>    boolean refresh = false; // for the first time, use cached data<a name="line.2253"></a>
-<span class="sourceLineNo">2254</span>    RegionServerStatusService.BlockingInterface intf = null;<a name="line.2254"></a>
-<span class="sourceLineNo">2255</span>    boolean interrupted = false;<a name="line.2255"></a>
-<span class="sourceLineNo">2256</span>    try {<a name="line.2256"></a>
-<span class="sourceLineNo">2257</span>      while (keepLooping()) {<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>        sn = this.masterAddressTracker.getMasterAddress(refresh);<a name="line.2258"></a>
-<span class="sourceLineNo">2259</span>        if (sn == null) {<a name="line.2259"></a>
-<span class="sourceLineNo">2260</span>          if (!keepLooping()) {<a name="line.2260"></a>
-<span class="sourceLineNo">2261</span>            // give up with no connection.<a name="line.2261"></a>
-<span class="sourceLineNo">2262</span>            LOG.debug("No master found and cluster is stopped; bailing out");<a name="line.2262"></a>
-<span class="sourceLineNo">2263</span>            return null;<a name="line.2263"></a>
-<span class="sourceLineNo">2264</span>          }<a name="line.2264"></a>
-<span class="sourceLineNo">2265</span>          if (System.currentTimeMillis() &gt; (previousLogTime + 1000)) {<a name="line.2265"></a>
-<span class="sourceLineNo">2266</span>            LOG.debug("No master found; retry");<a name="line.2266"></a>
-<span class="sourceLineNo">2267</span>            previousLogTime = System.currentTimeMillis();<a name="line.2267"></a>
-<span class="sourceLineNo">2268</span>          }<a name="line.2268"></a>
-<span class="sourceLineNo">2269</span>          refresh = true; // let's try pull it from ZK directly<a name="line.2269"></a>
-<span class="sourceLineNo">2270</span>          if (sleep(200)) {<a name="line.2270"></a>
-<span class="sourceLineNo">2271</span>            interrupted = true;<a name="line.2271"></a>
-<span class="sourceLineNo">2272</span>          }<a name="line.2272"></a>
-<span class="sourceLineNo">2273</span>          continue;<a name="line.2273"></a>
-<span class="sourceLineNo">2274</span>        }<a name="line.2274"></a>
-<span class="sourceLineNo">2275</span><a name="line.2275"></a>
-<span class="sourceLineNo">2276</span>        // If we are on the active master, use the shortcut<a name="line.2276"></a>
-<span class="sourceLineNo">2277</span>        if (this instanceof HMaster &amp;&amp; sn.equals(getServerName())) {<a name="line.2277"></a>
-<span class="sourceLineNo">2278</span>          intf = ((HMaster)this).getMasterRpcServices();<a name="line.2278"></a>
-<span class="sourceLineNo">2279</span>          break;<a name="line.2279"></a>
-<span class="sourceLineNo">2280</span>        }<a name="line.2280"></a>
-<span class="sourceLineNo">2281</span>        try {<a name="line.2281"></a>
-<span class="sourceLineNo">2282</span>          BlockingRpcChannel channel =<a name="line.2282"></a>
-<span class="sourceLineNo">2283</span>            this.rpcClient.createBlockingRpcChannel(sn, userProvider.getCurrent(),<a name="line.2283"></a>
-<span class="sourceLineNo">2284</span>              shortOperationTimeout);<a name="line.2284"></a>
-<span class="sourceLineNo">2285</span>          intf = RegionServerStatusService.newBlockingStub(channel);<a name="line.2285"></a>
-<span class="sourceLineNo">2286</span>          break;<a name="line.2286"></a>
-<span class="sourceLineNo">2287</span>        } catch (IOException e) {<a name="line.2287"></a>
-<span class="sourceLineNo">2288</span>          if (System.currentTimeMillis() &gt; (previousLogTime + 1000)) {<a name="line.2288"></a>
-<span class="sourceLineNo">2289</span>            e = e instanceof RemoteException ?<a name="line.2289"></a>
-<span class="sourceLineNo">2290</span>              ((RemoteException)e).unwrapRemoteException() : e;<a name="line.2290"></a>
-<span class="sourceLineNo">2291</span>            if (e instanceof ServerNotRunningYetException) {<a name="line.2291"></a>
-<span class="sourceLineNo">2292</span>              LOG.info("Master isn't available yet, retrying");<a name="line.2292"></a>
-<span class="sourceLineNo">2293</span>            } else {<a name="line.2293"></a>
-<span class="sourceLineNo">2294</span>              LOG.warn("Unable to connect to master. Retrying. Error was:", e);<a name="line.2294"></a>
-<span class="sourceLineNo">2295</span>            }<a name="line.2295"></a>
-<span class="sourceLineNo">2296</span>            previousLogTime = System.currentTimeMillis();<a name="line.2296"></a>
-<span class="sourceLineNo">2297</span>          }<a name="line.2297"></a>
-<span class="sourceLineNo">2298</span>          if (sleep(200)) {<a name="line.2298"></a>
-<span class="sourceLineNo">2299</span>            interrupted = true;<a name="line.2299"></a>
-<span class="sourceLineNo">2300</span>          }<a name="line.2300"></a>
-<span class="sourceLineNo">2301</span>        }<a name="line.2301"></a>
-<span class="sourceLineNo">2302</span>      }<a name="line.2302"></a>
-<span class="sourceLineNo">2303</span>    } finally {<a name="line.2303"></a>
-<span class="sourceLineNo">2304</span>      if (interrupted) {<a name="line.2304"></a>
-<span class="sourceLineNo">2305</span>        Thread.currentThread().interrupt();<a name="line.2305"></a>
-<span class="sourceLineNo">2306</span>      }<a name="line.2306"></a>
-<span class="sourceLineNo">2307</span>    }<a name="line.2307"></a>
-<span class="sourceLineNo">2308</span>    rssStub = intf;<a name="line.2308"></a>
-<span class="sourceLineNo">2309</span>    return sn;<a name="line.2309"></a>
-<span class="sourceLineNo">2310</span>  }<a name="line.2310"></a>
-<span class="sourceLineNo">2311</span><a name="line.2311"></a>
-<span class="sourceLineNo">2312</span>  /**<a name="line.2312"></a>
-<span class="sourceLineNo">2313</span>   * @return True if we should break loop because cluster is going down or<a name="line.2313"></a>
-<span class="sourceLineNo">2314</span>   * this server has been stopped or hdfs has gone bad.<a name="line.2314"></a>
-<span class="sourceLineNo">2315</span>   */<a name="line.2315"></a>
-<span class="sourceLineNo">2316</span>  private boolean keepLooping() {<a name="line.2316"></a>
-<span class="sourceLineNo">2317</span>    return !this.stopped &amp;&amp; isClusterUp();<a name="line.2317"></a>
-<span class="sourceLineNo">2318</span>  }<a name="line.2318"></a>
-<span class="sourceLineNo">2319</span><a name="line.2319"></a>
-<span class="sourceLineNo">2320</span>  /*<a name="line.2320"></a>
-<span class="sourceLineNo">2321</span>   * Let the master know we're here Run initialization using parameters passed<a name="line.2321"></a>
-<span class="sourceLineNo">2322</span>   * us by the master.<a name="line.2322"></a>
-<span class="sourceLineNo">2323</span>   * @return A Map of key/value configurations we got from the Master else<a name="line.2323"></a>
-<span class="sourceLineNo">2324</span>   * null if we failed to register.<a name="line.2324"></a>
-<span class="sourceLineNo">2325</span>   * @throws IOException<a name="line.2325"></a>
-<span class="sourceLineNo">2326</span>   */<a name="line.2326"></a>
-<span class="sourceLineNo">2327</span>  private RegionServerStartupResponse reportForDuty() throws IOException {<a name="line.2327"></a>
-<span class="sourceLineNo">2328</span>    ServerName masterServerName = createRegionServerStatusStub();<a name="line.2328"></a>
-<span class="sourceLineNo">2329</span>    if (masterServerName == null) return null;<a name="line.2329"></a>
-<span class="sourceLineNo">2330</span>    RegionServerStartupResponse result = null;<a name="line.2330"></a>
-<span class="sourceLineNo">2331</span>    try {<a name="line.2331"></a>
-<span class="sourceLineNo">2332</span>      rpcServices.requestCount.set(0);<a name="line.2332"></a>
-<span class="sourceLineNo">2333</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2333"></a>
-<span class="sourceLineNo">2334</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2334"></a>
-<span class="sourceLineNo">2335</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2335"></a>
-<span class="sourceLineNo">2336</span>      int port = rpcServices.isa.getPort();<a name="line.2336"></a>
-<span class="sourceLineNo">2337</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2337"></a>
-<span class="sourceLineNo">2338</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2338"></a>
-<span class="sourceLineNo">2339</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2339"></a>
-<span class="sourceLineNo">2340</span>      }<a name="line.2340"></a>
-<span class="sourceLineNo">2341</span>      request.setPort(port);<a name="line.2341"></a>
-<span class="sourceLineNo">2342</span>      request.setServerStartCode(this.startcode);<a name="line.2342"></a>
-<span class="sourceLineNo">2343</span>      request.setServerCurrentTime(now);<a name="line.2343"></a>
-<span class="sourceLineNo">2344</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2344"></a>
-<span class="sourceLineNo">2345</span>    } catch (ServiceException se) {<a name="line.2345"></a>
-<span class="sourceLineNo">2346</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2346"></a>
-<span class="sourceLineNo">2347</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2347"></a>
-<span class="sourceLineNo">2348</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2348"></a>
-<span class="sourceLineNo">2349</span>        // Re-throw IOE will cause RS to abort<a name="line.2349"></a>
-<span class="sourceLineNo">2350</span>        throw ioe;<a name="line.2350"></a>
-<span class="sourceLineNo">2351</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2351"></a>
-<span class="sourceLineNo">2352</span>        LOG.debug("Master is not running yet");<a name="line.2352"></a>
-<span class="sourceLineNo">2353</span>      } else {<a name="line.2353"></a>
-<span class="sourceLineNo">2354</span>        LOG.warn("error telling master we are up", se);<a name="line.2354"></a>
-<span class="sourceLineNo">2355</span>      }<a name="line.2355"></a>
-<span class="sourceLineNo">2356</span>      rssStub = null;<a name="line.2356"></a>
-<span class="sourceLineNo">2357</span>    }<a name="line.2357"></a>
-<span class="sourceLineNo">2358</span>    return result;<a name="line.2358"></a>
-<span class="sourceLineNo">2359</span>  }<a name="line.2359"></a>
-<span class="sourceLineNo">2360</span><a name="line.2360"></a>
-<span class="sourceLineNo">2361</span>  @Override<a name="line.2361"></a>
-<span class="sourceLineNo">2362</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2362"></a>
-<span class="sourceLineNo">2363</span>    try {<a name="line.2363"></a>
-<span class="sourceLineNo">2364</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2365"></a>
-<span class="sourceLineNo">2366</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2366"></a>
-<span class="sourceLineNo">2367</span>      if (rss == null) { // Try to connect one more time<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>        createRegionServerStatusStub();<a name="line.2368"></a>
-<span class="sourceLineNo">2369</span>        rss = rssStub;<a name="line.2369"></a>
-<span class="sourceLineNo">2370</span>        if (rss == null) {<a name="line.2370"></a>
-<span class="sourceLineNo">2371</span>          // Still no luck, we tried<a name="line.2371"></a>
-<span class="sourceLineNo">2372</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2372"></a>
-<span class="sourceLineNo">2373</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>              .build();<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span>        }<a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>      }<a name="line.2376"></a>
-<span class="sourceLineNo">2377</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>    } catch (ServiceException e) {<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>          .build();<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>    }<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span>  }<a name="line.2386"></a>
-<span class="sourceLineNo">2387</span><a name="line.2387"></a>
-<span class="sourceLineNo">2388</span>  /**<a name="line.2388"></a>
-<span class="sourceLineNo">2389</span>   * Closes all regions.  Called on our

<TRUNCATED>