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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e9db7c5d/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 24c6794..726b9c6 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -519,14 +519,14 @@
 <ul>
 <li type="circle">java.lang.<a 
href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true";
 title="class or interface in java.lang"><span 
class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a 
href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true";
 title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a 
href="http://docs.oracle.com/javase/8/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/Bytes.LexicographicalComparerHolder.UnsafeComparer.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a>
 (implements org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" 
title="interface in 
org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a>
 (implements org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" 
title="interface in 
org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" 
title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">PoolMap.PoolType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" 
title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">ChecksumType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in 
org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html"
 title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a>
 (implements org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" 
title="interface in 
org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" 
title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">PoolMap.PoolType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" 
title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">PrettyPrinter.Unit</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in 
org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a 
href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" 
title="enum in org.apache.hadoop.hbase.util"><span 
class="typeNameLink">ChecksumType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e9db7c5d/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 3bd3900..53d258e 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -166,8 +166,8 @@
 <ul>
 <li type="circle">java.lang.<a 
href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true";
 title="class or interface in java.lang"><span 
class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a 
href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true";
 title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a 
href="http://docs.oracle.com/javase/8/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/WALFactory.Providers.html" 
title="enum in org.apache.hadoop.hbase.wal"><span 
class="typeNameLink">WALFactory.Providers</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a 
href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html"
 title="enum in org.apache.hadoop.hbase.wal"><span 
class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a 
href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" 
title="enum in org.apache.hadoop.hbase.wal"><span 
class="typeNameLink">WALFactory.Providers</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e9db7c5d/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html 
b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index c59f50a..d6f49b6 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -16,11 +16,11 @@
 <span class="sourceLineNo">008</span>@InterfaceAudience.Private<a 
name="line.8"></a>
 <span class="sourceLineNo">009</span>public class Version {<a 
name="line.9"></a>
 <span class="sourceLineNo">010</span>  public static final String version = 
"3.0.0-SNAPSHOT";<a name="line.10"></a>
-<span class="sourceLineNo">011</span>  public static final String revision = 
"7cc458e129cf7c55910c9985d0824a72189a1a73";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = 
"d092008766c460de329d14d40e9cfd2377dcaf01";<a name="line.11"></a>
 <span class="sourceLineNo">012</span>  public static final String user = 
"jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span>  public static final String date = "Thu 
Jun 22 14:39:49 UTC 2017";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Fri 
Jun 23 14:39:20 UTC 2017";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = 
"git://asf920.gq1.ygridcore.net/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a
 name="line.14"></a>
-<span class="sourceLineNo">015</span>  public static final String srcChecksum 
= "83cc237c7604a7786af1a1aab7f0020f";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum 
= "32fc2f233b8d7f509c35718e88129025";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e9db7c5d/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.html
----------------------------------------------------------------------
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.html
index 71a052f..640c007 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.html
@@ -35,18 +35,18 @@
 <span class="sourceLineNo">027</span>import java.util.List;<a 
name="line.27"></a>
 <span class="sourceLineNo">028</span>import java.util.Optional;<a 
name="line.28"></a>
 <span class="sourceLineNo">029</span><a name="line.29"></a>
-<span class="sourceLineNo">030</span>import 
com.google.common.collect.ImmutableCollection;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import 
com.google.common.collect.ImmutableList;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import com.google.common.collect.Lists;<a 
name="line.32"></a>
-<span class="sourceLineNo">033</span><a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.commons.logging.Log;<a 
name="line.34"></a>
-<span class="sourceLineNo">035</span>import 
org.apache.commons.logging.LogFactory;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import 
org.apache.hadoop.conf.Configuration;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.Cell;<a 
name="line.37"></a>
-<span class="sourceLineNo">038</span>import 
org.apache.hadoop.hbase.CellComparator;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import 
org.apache.hadoop.hbase.KeyValue;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import 
org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import 
org.apache.hadoop.hbase.regionserver.compactions.CompactionConfiguration;<a 
name="line.41"></a>
+<span class="sourceLineNo">030</span>import org.apache.commons.logging.Log;<a 
name="line.30"></a>
+<span class="sourceLineNo">031</span>import 
org.apache.commons.logging.LogFactory;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import 
org.apache.hadoop.conf.Configuration;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.Cell;<a 
name="line.33"></a>
+<span class="sourceLineNo">034</span>import 
org.apache.hadoop.hbase.CellComparator;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import 
org.apache.hadoop.hbase.KeyValue;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import 
org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import 
org.apache.hadoop.hbase.regionserver.compactions.CompactionConfiguration;<a 
name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>import 
com.google.common.collect.ImmutableCollection;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import 
com.google.common.collect.ImmutableList;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import com.google.common.collect.Lists;<a 
name="line.41"></a>
 <span class="sourceLineNo">042</span><a name="line.42"></a>
 <span class="sourceLineNo">043</span>/**<a name="line.43"></a>
 <span class="sourceLineNo">044</span> * Default implementation of 
StoreFileManager. Not thread-safe.<a name="line.44"></a>
@@ -125,132 +125,140 @@
 <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 void addCompactionResults(<a 
name="line.120"></a>
-<span class="sourceLineNo">121</span>    Collection&lt;StoreFile&gt; 
newCompactedfiles, Collection&lt;StoreFile&gt; results) {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    ArrayList&lt;StoreFile&gt; 
newStoreFiles = Lists.newArrayList(storefiles);<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    
newStoreFiles.removeAll(newCompactedfiles);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    if (!results.isEmpty()) {<a 
name="line.124"></a>
-<span class="sourceLineNo">125</span>      newStoreFiles.addAll(results);<a 
name="line.125"></a>
-<span class="sourceLineNo">126</span>    }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    
sortAndSetStoreFiles(newStoreFiles);<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    ArrayList&lt;StoreFile&gt; 
updatedCompactedfiles = null;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    if (this.compactedfiles != null) {<a 
name="line.129"></a>
-<span class="sourceLineNo">130</span>      updatedCompactedfiles = new 
ArrayList&lt;&gt;(this.compactedfiles);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      
updatedCompactedfiles.addAll(newCompactedfiles);<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    } else {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      updatedCompactedfiles = new 
ArrayList&lt;&gt;(newCompactedfiles);<a name="line.133"></a>
+<span class="sourceLineNo">120</span>  public final int 
getCompactedFilesCount() {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    if (compactedfiles == null) {<a 
name="line.121"></a>
+<span class="sourceLineNo">122</span>      return 0;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    }<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    return compactedfiles.size();<a 
name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>  @Override<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  public void addCompactionResults(<a 
name="line.128"></a>
+<span class="sourceLineNo">129</span>    Collection&lt;StoreFile&gt; 
newCompactedfiles, Collection&lt;StoreFile&gt; results) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    ArrayList&lt;StoreFile&gt; 
newStoreFiles = Lists.newArrayList(storefiles);<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    
newStoreFiles.removeAll(newCompactedfiles);<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    if (!results.isEmpty()) {<a 
name="line.132"></a>
+<span class="sourceLineNo">133</span>      newStoreFiles.addAll(results);<a 
name="line.133"></a>
 <span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    
markCompactedAway(newCompactedfiles);<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    this.compactedfiles = 
sortCompactedfiles(updatedCompactedfiles);<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>  // Mark the files as compactedAway once 
the storefiles and compactedfiles list is finalized<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  // Let a background thread close the 
actual reader on these compacted files and also<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  // ensure to evict the blocks from 
block cache so that they are no longer in<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  // cache<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  private void 
markCompactedAway(Collection&lt;StoreFile&gt; compactedFiles) {<a 
name="line.143"></a>
-<span class="sourceLineNo">144</span>    for (StoreFile file : compactedFiles) 
{<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      file.markCompactedAway();<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>  @Override<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  public void 
removeCompactedFiles(Collection&lt;StoreFile&gt; removedCompactedfiles) throws 
IOException {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    ArrayList&lt;StoreFile&gt; 
updatedCompactedfiles = null;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    if (this.compactedfiles != null) {<a 
name="line.152"></a>
-<span class="sourceLineNo">153</span>      updatedCompactedfiles = new 
ArrayList&lt;&gt;(this.compactedfiles);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      
updatedCompactedfiles.removeAll(removedCompactedfiles);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      this.compactedfiles = 
sortCompactedfiles(updatedCompactedfiles);<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>  @Override<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  public final Iterator&lt;StoreFile&gt; 
getCandidateFilesForRowKeyBefore(final KeyValue targetKey) {<a 
name="line.160"></a>
-<span class="sourceLineNo">161</span>    return new 
ArrayList&lt;&gt;(Lists.reverse(this.storefiles)).iterator();<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 Iterator&lt;StoreFile&gt; 
updateCandidateFilesForRowKeyBefore(<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      Iterator&lt;StoreFile&gt; 
candidateFiles, final KeyValue targetKey, final Cell candidate) {<a 
name="line.166"></a>
-<span class="sourceLineNo">167</span>    // Default store has nothing useful 
to do here.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    // TODO: move this comment when 
implementing Level:<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    // Level store can trim the list by 
range, removing all the files which cannot have<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    // any useful candidates less than 
"candidate".<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    return candidateFiles;<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 final byte[] getSplitPoint() 
throws IOException {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    List&lt;StoreFile&gt; storefiles = 
this.storefiles;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    if (storefiles.isEmpty()) {<a 
name="line.177"></a>
-<span class="sourceLineNo">178</span>      return null;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    Optional&lt;StoreFile&gt; largestFile 
= StoreUtils.getLargestFile(storefiles);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    return largestFile.isPresent()<a 
name="line.181"></a>
-<span class="sourceLineNo">182</span>        ? 
StoreUtils.getFileSplitPoint(largestFile.get(), kvComparator).orElse(null) : 
null;<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>  @Override<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  public final 
Collection&lt;StoreFile&gt; getFilesForScan(byte[] startRow, boolean 
includeStartRow,<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      byte[] stopRow, boolean 
includeStopRow) {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    // We cannot provide any useful input 
and already have the files sorted by seqNum.<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    return getStorefiles();<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 int getStoreCompactionPriority() 
{<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    int priority = blockingFileCount - 
storefiles.size();<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    return (priority == 
HStore.PRIORITY_USER) ? priority + 1 : priority;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  }<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>  @Override<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  public Collection&lt;StoreFile&gt; 
getUnneededFiles(long maxTs, List&lt;StoreFile&gt; filesCompacting) {<a 
name="line.199"></a>
-<span class="sourceLineNo">200</span>    Collection&lt;StoreFile&gt; 
expiredStoreFiles = null;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    ImmutableList&lt;StoreFile&gt; files 
= storefiles;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    // 1) We can never get rid of the 
last file which has the maximum seqid.<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    // 2) Files that are not the latest 
can't become one due to (1), so the rest are fair game.<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    for (int i = 0; i &lt; files.size() - 
1; ++i) {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      StoreFile sf = files.get(i);<a 
name="line.205"></a>
-<span class="sourceLineNo">206</span>      long fileTs = 
sf.getReader().getMaxTimestamp();<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      if (fileTs &lt; maxTs &amp;&amp; 
!filesCompacting.contains(sf)) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        LOG.info("Found an expired store 
file: " + sf.getPath()<a name="line.208"></a>
-<span class="sourceLineNo">209</span>            + " whose maxTimeStamp is " + 
fileTs + ", which is below " + maxTs);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        if (expiredStoreFiles == null) 
{<a name="line.210"></a>
-<span class="sourceLineNo">211</span>          expiredStoreFiles = new 
ArrayList&lt;&gt;();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>        }<a name="line.212"></a>
-<span class="sourceLineNo">213</span>        expiredStoreFiles.add(sf);<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>    return expiredStoreFiles;<a 
name="line.216"></a>
-<span class="sourceLineNo">217</span>  }<a name="line.217"></a>
-<span class="sourceLineNo">218</span><a name="line.218"></a>
-<span class="sourceLineNo">219</span>  private void 
sortAndSetStoreFiles(List&lt;StoreFile&gt; storeFiles) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    Collections.sort(storeFiles, 
storeFileComparator);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    storefiles = 
ImmutableList.copyOf(storeFiles);<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>  private List&lt;StoreFile&gt; 
sortCompactedfiles(List&lt;StoreFile&gt; storefiles) {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    // Sorting may not be really needed 
here for the compacted files?<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    Collections.sort(storefiles, 
storeFileComparator);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    return new 
ArrayList&lt;&gt;(storefiles);<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>  @Override<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  public double getCompactionPressure() 
{<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    int storefileCount = 
getStorefileCount();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    int minFilesToCompact = 
comConf.getMinFilesToCompact();<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    if (storefileCount &lt;= 
minFilesToCompact) {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      return 0.0;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    return (double) (storefileCount - 
minFilesToCompact) / (blockingFileCount - minFilesToCompact);<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>  @Override<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public Comparator&lt;StoreFile&gt; 
getStoreFileComparator() {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    return storeFileComparator;<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><a name="line.245"></a>
+<span class="sourceLineNo">135</span>    
sortAndSetStoreFiles(newStoreFiles);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    ArrayList&lt;StoreFile&gt; 
updatedCompactedfiles = null;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    if (this.compactedfiles != null) {<a 
name="line.137"></a>
+<span class="sourceLineNo">138</span>      updatedCompactedfiles = new 
ArrayList&lt;&gt;(this.compactedfiles);<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      
updatedCompactedfiles.addAll(newCompactedfiles);<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    } else {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      updatedCompactedfiles = new 
ArrayList&lt;&gt;(newCompactedfiles);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    }<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    
markCompactedAway(newCompactedfiles);<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    this.compactedfiles = 
sortCompactedfiles(updatedCompactedfiles);<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>  // Mark the files as compactedAway once 
the storefiles and compactedfiles list is finalized<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  // Let a background thread close the 
actual reader on these compacted files and also<a name="line.148"></a>
+<span class="sourceLineNo">149</span>  // ensure to evict the blocks from 
block cache so that they are no longer in<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  // cache<a name="line.150"></a>
+<span class="sourceLineNo">151</span>  private void 
markCompactedAway(Collection&lt;StoreFile&gt; compactedFiles) {<a 
name="line.151"></a>
+<span class="sourceLineNo">152</span>    for (StoreFile file : compactedFiles) 
{<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      file.markCompactedAway();<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><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  @Override<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  public void 
removeCompactedFiles(Collection&lt;StoreFile&gt; removedCompactedfiles) throws 
IOException {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    ArrayList&lt;StoreFile&gt; 
updatedCompactedfiles = null;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    if (this.compactedfiles != null) {<a 
name="line.160"></a>
+<span class="sourceLineNo">161</span>      updatedCompactedfiles = new 
ArrayList&lt;&gt;(this.compactedfiles);<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      
updatedCompactedfiles.removeAll(removedCompactedfiles);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      this.compactedfiles = 
sortCompactedfiles(updatedCompactedfiles);<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>  @Override<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  public final Iterator&lt;StoreFile&gt; 
getCandidateFilesForRowKeyBefore(final KeyValue targetKey) {<a 
name="line.168"></a>
+<span class="sourceLineNo">169</span>    return new 
ArrayList&lt;&gt;(Lists.reverse(this.storefiles)).iterator();<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>  @Override<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  public Iterator&lt;StoreFile&gt; 
updateCandidateFilesForRowKeyBefore(<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      Iterator&lt;StoreFile&gt; 
candidateFiles, final KeyValue targetKey, final Cell candidate) {<a 
name="line.174"></a>
+<span class="sourceLineNo">175</span>    // Default store has nothing useful 
to do here.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    // TODO: move this comment when 
implementing Level:<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    // Level store can trim the list by 
range, removing all the files which cannot have<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    // any useful candidates less than 
"candidate".<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    return candidateFiles;<a 
name="line.179"></a>
+<span class="sourceLineNo">180</span>  }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>  @Override<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  public final byte[] getSplitPoint() 
throws IOException {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    List&lt;StoreFile&gt; storefiles = 
this.storefiles;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    if (storefiles.isEmpty()) {<a 
name="line.185"></a>
+<span class="sourceLineNo">186</span>      return null;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    Optional&lt;StoreFile&gt; largestFile 
= StoreUtils.getLargestFile(storefiles);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    return largestFile.isPresent()<a 
name="line.189"></a>
+<span class="sourceLineNo">190</span>        ? 
StoreUtils.getFileSplitPoint(largestFile.get(), kvComparator).orElse(null) : 
null;<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 final 
Collection&lt;StoreFile&gt; getFilesForScan(byte[] startRow, boolean 
includeStartRow,<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      byte[] stopRow, boolean 
includeStopRow) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    // We cannot provide any useful input 
and already have the files sorted by seqNum.<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    return getStorefiles();<a 
name="line.197"></a>
+<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>  @Override<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  public int getStoreCompactionPriority() 
{<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    int priority = blockingFileCount - 
storefiles.size();<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    return (priority == 
HStore.PRIORITY_USER) ? priority + 1 : priority;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  @Override<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  public Collection&lt;StoreFile&gt; 
getUnneededFiles(long maxTs, List&lt;StoreFile&gt; filesCompacting) {<a 
name="line.207"></a>
+<span class="sourceLineNo">208</span>    Collection&lt;StoreFile&gt; 
expiredStoreFiles = null;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    ImmutableList&lt;StoreFile&gt; files 
= storefiles;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    // 1) We can never get rid of the 
last file which has the maximum seqid.<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    // 2) Files that are not the latest 
can't become one due to (1), so the rest are fair game.<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    for (int i = 0; i &lt; files.size() - 
1; ++i) {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      StoreFile sf = files.get(i);<a 
name="line.213"></a>
+<span class="sourceLineNo">214</span>      long fileTs = 
sf.getReader().getMaxTimestamp();<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      if (fileTs &lt; maxTs &amp;&amp; 
!filesCompacting.contains(sf)) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>        LOG.info("Found an expired store 
file: " + sf.getPath()<a name="line.216"></a>
+<span class="sourceLineNo">217</span>            + " whose maxTimeStamp is " + 
fileTs + ", which is below " + maxTs);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        if (expiredStoreFiles == null) 
{<a name="line.218"></a>
+<span class="sourceLineNo">219</span>          expiredStoreFiles = new 
ArrayList&lt;&gt;();<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        }<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        expiredStoreFiles.add(sf);<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>    return expiredStoreFiles;<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>  private void 
sortAndSetStoreFiles(List&lt;StoreFile&gt; storeFiles) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    Collections.sort(storeFiles, 
storeFileComparator);<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    storefiles = 
ImmutableList.copyOf(storeFiles);<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>  private List&lt;StoreFile&gt; 
sortCompactedfiles(List&lt;StoreFile&gt; storefiles) {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    // Sorting may not be really needed 
here for the compacted files?<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    Collections.sort(storefiles, 
storeFileComparator);<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    return new 
ArrayList&lt;&gt;(storefiles);<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>  @Override<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  public double getCompactionPressure() 
{<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    int storefileCount = 
getStorefileCount();<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    int minFilesToCompact = 
comConf.getMinFilesToCompact();<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    if (storefileCount &lt;= 
minFilesToCompact) {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      return 0.0;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    }<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    return (double) (storefileCount - 
minFilesToCompact) / (blockingFileCount - minFilesToCompact);<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>  @Override<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  public Comparator&lt;StoreFile&gt; 
getStoreFileComparator() {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    return storeFileComparator;<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>
 
 
 

Reply via email to