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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/aa3fb87f/devapidocs/org/apache/hadoop/hbase/util/class-use/Pair.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/class-use/Pair.html b/devapidocs/org/apache/hadoop/hbase/util/class-use/Pair.html
index 9913946..055a934 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/class-use/Pair.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/class-use/Pair.html
@@ -236,18 +236,22 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.tool">org.apache.hadoop.hbase.tool</a></td>
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.thrift2.client">org.apache.hadoop.hbase.thrift2.client</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.util">org.apache.hadoop.hbase.util</a></td>
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.tool">org.apache.hadoop.hbase.tool</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.wal">org.apache.hadoop.hbase.wal</a></td>
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.util">org.apache.hadoop.hbase.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.wal">org.apache.hadoop.hbase.wal</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.zookeeper">org.apache.hadoop.hbase.zookeeper</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -1948,6 +1952,40 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.hadoop.hbase.thrift2.client">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a> in <a href="../../../../../../org/apache/hadoop/hbase/thrift2/client/package-summary.html">org.apache.hadoop.hbase.thrift2.client</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/thrift2/client/package-summary.html">org.apache.hadoop.hbase.thrift2.client</a> that return <a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ThriftAdmin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/thrift2/client/ThriftAdmin.html#getAlterStatus-byte:A-">getAlterStatus</a></span>(byte[]&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ThriftAdmin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/thrift2/client/ThriftAdmin.html#getAlterStatus-org.apache.hadoop.hbase.TableName-">getAlterStatus</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.hbase.thrift2.generated.THBaseService.Client,org.apache.thrift.transport.TTransport&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ThriftConnection.DefaultThriftClientBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/thrift2/client/ThriftConnection.DefaultThriftClientBuilder.html#getClient--">getClient</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.hbase.thrift2.generated.THBaseService.Client,org.apache.thrift.transport.TTransport&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ThriftConnection.HTTPThriftClientBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/thrift2/client/ThriftConnection.HTTPThriftClientBuilder.html#getClient--">getClient</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.hbase.thrift2.generated.THBaseService.Client,org.apache.thrift.transport.TTransport&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ThriftClientBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/thrift2/client/ThriftClientBuilder.html#getClient--">getClient</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.tool">
 <!--   -->
 </a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/aa3fb87f/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 25ec8fe..4e1d4c5 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -541,14 +541,14 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" 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/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/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/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/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/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/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/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/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/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/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/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/aa3fb87f/devapidocs/org/apache/hadoop/hbase/util/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-use.html b/devapidocs/org/apache/hadoop/hbase/util/package-use.html
index 6336a97..7c797bf 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-use.html
@@ -311,14 +311,18 @@ service.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.tool">org.apache.hadoop.hbase.tool</a></td>
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.thrift2.client">org.apache.hadoop.hbase.thrift2.client</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.tool.coprocessor">org.apache.hadoop.hbase.tool.coprocessor</a></td>
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.tool">org.apache.hadoop.hbase.tool</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.tool.coprocessor">org.apache.hadoop.hbase.tool.coprocessor</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.types">org.apache.hadoop.hbase.types</a></td>
 <td class="colLast">
 <div class="block">
@@ -326,19 +330,19 @@ service.</div>
  extensible data type API.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.util">org.apache.hadoop.hbase.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.util.hbck">org.apache.hadoop.hbase.util.hbck</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.wal">org.apache.hadoop.hbase.wal</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.zookeeper">org.apache.hadoop.hbase.zookeeper</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -1548,6 +1552,23 @@ service.</div>
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.hadoop.hbase.thrift2.client">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/hadoop/hbase/util/package-summary.html">org.apache.hadoop.hbase.util</a> used by <a href="../../../../../org/apache/hadoop/hbase/thrift2/client/package-summary.html">org.apache.hadoop.hbase.thrift2.client</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/util/class-use/Pair.html#org.apache.hadoop.hbase.thrift2.client">Pair</a>
+<div class="block">A generic class for pairs.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.tool">
 <!--   -->
 </a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/aa3fb87f/devapidocs/overview-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-frame.html b/devapidocs/overview-frame.html
index 8b6c541..1b1e7e5 100644
--- a/devapidocs/overview-frame.html
+++ b/devapidocs/overview-frame.html
@@ -114,6 +114,7 @@
 <li><a href="org/apache/hadoop/hbase/snapshot/package-frame.html" target="packageFrame">org.apache.hadoop.hbase.snapshot</a></li>
 <li><a href="org/apache/hadoop/hbase/thrift/package-frame.html" target="packageFrame">org.apache.hadoop.hbase.thrift</a></li>
 <li><a href="org/apache/hadoop/hbase/thrift2/package-frame.html" target="packageFrame">org.apache.hadoop.hbase.thrift2</a></li>
+<li><a href="org/apache/hadoop/hbase/thrift2/client/package-frame.html" target="packageFrame">org.apache.hadoop.hbase.thrift2.client</a></li>
 <li><a href="org/apache/hadoop/hbase/tmpl/master/package-frame.html" target="packageFrame">org.apache.hadoop.hbase.tmpl.master</a></li>
 <li><a href="org/apache/hadoop/hbase/tmpl/regionserver/package-frame.html" target="packageFrame">org.apache.hadoop.hbase.tmpl.regionserver</a></li>
 <li><a href="org/apache/hadoop/hbase/tool/package-frame.html" target="packageFrame">org.apache.hadoop.hbase.tool</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/aa3fb87f/devapidocs/overview-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-summary.html b/devapidocs/overview-summary.html
index 35b02f4..c3c7c17 100644
--- a/devapidocs/overview-summary.html
+++ b/devapidocs/overview-summary.html
@@ -540,26 +540,30 @@ service.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="org/apache/hadoop/hbase/tmpl/master/package-summary.html">org.apache.hadoop.hbase.tmpl.master</a></td>
+<td class="colFirst"><a href="org/apache/hadoop/hbase/thrift2/client/package-summary.html">org.apache.hadoop.hbase.thrift2.client</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="org/apache/hadoop/hbase/tmpl/regionserver/package-summary.html">org.apache.hadoop.hbase.tmpl.regionserver</a></td>
+<td class="colFirst"><a href="org/apache/hadoop/hbase/tmpl/master/package-summary.html">org.apache.hadoop.hbase.tmpl.master</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="org/apache/hadoop/hbase/tool/package-summary.html">org.apache.hadoop.hbase.tool</a></td>
+<td class="colFirst"><a href="org/apache/hadoop/hbase/tmpl/regionserver/package-summary.html">org.apache.hadoop.hbase.tmpl.regionserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="org/apache/hadoop/hbase/tool/coprocessor/package-summary.html">org.apache.hadoop.hbase.tool.coprocessor</a></td>
+<td class="colFirst"><a href="org/apache/hadoop/hbase/tool/package-summary.html">org.apache.hadoop.hbase.tool</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="org/apache/hadoop/hbase/trace/package-summary.html">org.apache.hadoop.hbase.trace</a></td>
+<td class="colFirst"><a href="org/apache/hadoop/hbase/tool/coprocessor/package-summary.html">org.apache.hadoop.hbase.tool.coprocessor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="org/apache/hadoop/hbase/trace/package-summary.html">org.apache.hadoop.hbase.trace</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/hadoop/hbase/types/package-summary.html">org.apache.hadoop.hbase.types</a></td>
 <td class="colLast">
 <div class="block">
@@ -567,43 +571,43 @@ service.</div>
  extensible data type API.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/hadoop/hbase/util/package-summary.html">org.apache.hadoop.hbase.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/hadoop/hbase/util/compaction/package-summary.html">org.apache.hadoop.hbase.util.compaction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/hadoop/hbase/util/hbck/package-summary.html">org.apache.hadoop.hbase.util.hbck</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/hadoop/hbase/wal/package-summary.html">org.apache.hadoop.hbase.wal</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/hadoop/hbase/zookeeper/package-summary.html">org.apache.hadoop.hbase.zookeeper</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/hadoop/metrics2/package-summary.html">org.apache.hadoop.metrics2</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/hadoop/metrics2/impl/package-summary.html">org.apache.hadoop.metrics2.impl</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/hadoop/metrics2/lib/package-summary.html">org.apache.hadoop.metrics2.lib</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/hadoop/metrics2/util/package-summary.html">org.apache.hadoop.metrics2.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/hbase/archetypes/exemplars/client/package-summary.html">org.apache.hbase.archetypes.exemplars.client</a></td>
 <td class="colLast">
 <div class="block">This package provides fully-functional exemplar Java code demonstrating
@@ -611,7 +615,7 @@ service.</div>
  archetype with hbase-client dependency.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/hbase/archetypes/exemplars/shaded_client/package-summary.html">org.apache.hbase.archetypes.exemplars.shaded_client</a></td>
 <td class="colLast">
 <div class="block">This package provides fully-functional exemplar Java code demonstrating

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/aa3fb87f/devapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index e66b9e5..94878f5 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -174,6 +174,7 @@
 <li><a href="org/apache/hadoop/hbase/snapshot/package-tree.html">org.apache.hadoop.hbase.snapshot</a>, </li>
 <li><a href="org/apache/hadoop/hbase/thrift/package-tree.html">org.apache.hadoop.hbase.thrift</a>, </li>
 <li><a href="org/apache/hadoop/hbase/thrift2/package-tree.html">org.apache.hadoop.hbase.thrift2</a>, </li>
+<li><a href="org/apache/hadoop/hbase/thrift2/client/package-tree.html">org.apache.hadoop.hbase.thrift2.client</a>, </li>
 <li><a href="org/apache/hadoop/hbase/tmpl/master/package-tree.html">org.apache.hadoop.hbase.tmpl.master</a>, </li>
 <li><a href="org/apache/hadoop/hbase/tmpl/regionserver/package-tree.html">org.apache.hadoop.hbase.tmpl.regionserver</a>, </li>
 <li><a href="org/apache/hadoop/hbase/tool/package-tree.html">org.apache.hadoop.hbase.tool</a>, </li>
@@ -3864,10 +3865,21 @@
 <li type="circle">org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/Threads.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">Threads</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/Threads.PrintThreadInfoLazyHolder.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">Threads.PrintThreadInfoLazyHolder</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ThreadSafeMemStoreSizing.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ThreadSafeMemStoreSizing</span></a> (implements org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MemStoreSizing.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreSizing</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.thrift2.client.<a href="org/apache/hadoop/hbase/thrift2/client/ThriftAdmin.html" title="class in org.apache.hadoop.hbase.thrift2.client"><span class="typeNameLink">ThriftAdmin</span></a> (implements org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.thrift2.client.<a href="org/apache/hadoop/hbase/thrift2/client/ThriftClientBuilder.html" title="class in org.apache.hadoop.hbase.thrift2.client"><span class="typeNameLink">ThriftClientBuilder</span></a>
+<ul>
+<li type="circle">org.apache.hadoop.hbase.thrift2.client.<a href="org/apache/hadoop/hbase/thrift2/client/ThriftConnection.DefaultThriftClientBuilder.html" title="class in org.apache.hadoop.hbase.thrift2.client"><span class="typeNameLink">ThriftConnection.DefaultThriftClientBuilder</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.thrift2.client.<a href="org/apache/hadoop/hbase/thrift2/client/ThriftConnection.HTTPThriftClientBuilder.html" title="class in org.apache.hadoop.hbase.thrift2.client"><span class="typeNameLink">ThriftConnection.HTTPThriftClientBuilder</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.hadoop.hbase.thrift2.client.<a href="org/apache/hadoop/hbase/thrift2/client/ThriftConnection.html" title="class in org.apache.hadoop.hbase.thrift2.client"><span class="typeNameLink">ThriftConnection</span></a> (implements org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/ThriftHBaseServiceHandler.ResultScannerWrapper.html" title="class in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftHBaseServiceHandler.ResultScannerWrapper</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/ThriftHttpServlet.HttpKerberosServerAction.html" title="class in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftHttpServlet.HttpKerberosServerAction</span></a> (implements java.security.<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security">PrivilegedExceptionAction</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/ThriftHttpServlet.RemoteUserIdentity.html" title="class in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftHttpServlet.RemoteUserIdentity</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/ThriftMetrics.html" title="class in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftMetrics</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.thrift2.client.<a href="org/apache/hadoop/hbase/thrift2/client/ThriftTable.html" title="class in org.apache.hadoop.hbase.thrift2.client"><span class="typeNameLink">ThriftTable</span></a> (implements org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.thrift2.client.<a href="org/apache/hadoop/hbase/thrift2/client/ThriftTable.CheckAndMutateBuilderImpl.html" title="class in org.apache.hadoop.hbase.thrift2.client"><span class="typeNameLink">ThriftTable.CheckAndMutateBuilderImpl</span></a> (implements org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Table.CheckAndMutateBuilder.html" title="interface in org.apache.hadoop.hbase.client">Table.CheckAndMutateBuilder</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.thrift2.client.<a href="org/apache/hadoop/hbase/thrift2/client/ThriftTable.Scanner.html" title="class in org.apache.hadoop.hbase.thrift2.client"><span class="typeNameLink">ThriftTable.Scanner</span></a> (implements org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.thrift2.<a href="org/apache/hadoop/hbase/thrift2/ThriftUtilities.html" title="class in org.apache.hadoop.hbase.thrift2"><span class="typeNameLink">ThriftUtilities</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/ThriftUtilities.html" title="class in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftUtilities</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.throttle.<a href="org/apache/hadoop/hbase/regionserver/throttle/ThroughputControlUtil.html" title="class in org.apache.hadoop.hbase.regionserver.throttle"><span class="typeNameLink">ThroughputControlUtil</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/aa3fb87f/devapidocs/package-list
----------------------------------------------------------------------
diff --git a/devapidocs/package-list b/devapidocs/package-list
index cda2404..8e99a0a 100644
--- a/devapidocs/package-list
+++ b/devapidocs/package-list
@@ -99,6 +99,7 @@ org.apache.hadoop.hbase.security.visibility.expression
 org.apache.hadoop.hbase.snapshot
 org.apache.hadoop.hbase.thrift
 org.apache.hadoop.hbase.thrift2
+org.apache.hadoop.hbase.thrift2.client
 org.apache.hadoop.hbase.tmpl.master
 org.apache.hadoop.hbase.tmpl.regionserver
 org.apache.hadoop.hbase.tool

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/aa3fb87f/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 5c282d8..e59e253 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -18,9 +18,9 @@
 <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 = "";<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 = "Tue Jan  8 14:48:26 UTC 2019";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Wed Jan  9 14:41:23 UTC 2019";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = "git://jenkins-websites1.apache.org/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span>  public static final String srcChecksum = "a7a0c59e1859943d6e076d5efcc32eec";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "bf24d839a67372cf3472bb6feb6cedfd";<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/aa3fb87f/devapidocs/src-html/org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.NewestLogFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.NewestLogFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.NewestLogFilter.html
index 81fc69e..6c58b9a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.NewestLogFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.NewestLogFilter.html
@@ -47,7 +47,7 @@
 <span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.Admin;<a name="line.39"></a>
 <span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.40"></a>
 <span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.42"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.util.CommonFSUtils;<a name="line.42"></a>
 <span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.wal.AbstractFSWALProvider;<a name="line.43"></a>
 <span class="sourceLineNo">044</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.44"></a>
 <span class="sourceLineNo">045</span>import org.slf4j.Logger;<a name="line.45"></a>
@@ -251,156 +251,157 @@
 <span class="sourceLineNo">243</span>      throws IOException {<a name="line.243"></a>
 <span class="sourceLineNo">244</span>    LOG.debug("In getLogFilesForNewBackup()\n" + "olderTimestamps: " + olderTimestamps<a name="line.244"></a>
 <span class="sourceLineNo">245</span>        + "\n newestTimestamps: " + newestTimestamps);<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    Path rootdir = FSUtils.getRootDir(conf);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    Path logDir = new Path(rootdir, HConstants.HREGION_LOGDIR_NAME);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    Path oldLogDir = new Path(rootdir, HConstants.HREGION_OLDLOGDIR_NAME);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    FileSystem fs = rootdir.getFileSystem(conf);<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    NewestLogFilter pathFilter = new NewestLogFilter();<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>    List&lt;String&gt; resultLogFiles = new ArrayList&lt;&gt;();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    List&lt;String&gt; newestLogs = new ArrayList&lt;&gt;();<a name="line.253"></a>
-<span class="sourceLineNo">254</span><a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /*<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * The old region servers and timestamps info we kept in backup system table may be out of sync<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * if new region server is added or existing one lost. We'll deal with it here when processing<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * the logs. If data in backup system table has more hosts, just ignore it. If the .logs<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     * directory includes more hosts, the additional hosts will not have old timestamps to compare<a name="line.259"></a>
-<span class="sourceLineNo">260</span>     * with. We'll just use all the logs in that directory. We always write up-to-date region server<a name="line.260"></a>
-<span class="sourceLineNo">261</span>     * and timestamp info to backup system table at the end of successful backup.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>     */<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    FileStatus[] rss;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    Path p;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    String host;<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    Long oldTimeStamp;<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    String currentLogFile;<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    long currentLogTS;<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>    // Get the files in .logs.<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    rss = fs.listStatus(logDir);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    for (FileStatus rs : rss) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      p = rs.getPath();<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      host = BackupUtils.parseHostNameFromLogFile(p);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      if (host == null) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        continue;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      }<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      FileStatus[] logs;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      oldTimeStamp = olderTimestamps.get(host);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // It is possible that there is no old timestamp in backup system table for this host if<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // this region server is newly added after our last backup.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      if (oldTimeStamp == null) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        logs = fs.listStatus(p);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      } else {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        pathFilter.setLastBackupTS(oldTimeStamp);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        logs = fs.listStatus(p, pathFilter);<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      }<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      for (FileStatus log : logs) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        LOG.debug("currentLogFile: " + log.getPath().toString());<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (AbstractFSWALProvider.isMetaFile(log.getPath())) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          if (LOG.isDebugEnabled()) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>            LOG.debug("Skip hbase:meta log file: " + log.getPath().getName());<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          }<a name="line.293"></a>
-<span class="sourceLineNo">294</span>          continue;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>        currentLogFile = log.getPath().toString();<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        resultLogFiles.add(currentLogFile);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        currentLogTS = BackupUtils.getCreationTime(log.getPath());<a name="line.298"></a>
-<span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>        // If newestTimestamps.get(host) is null, means that<a name="line.300"></a>
-<span class="sourceLineNo">301</span>        // either RS (host) has been restarted recently with different port number<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        // or RS is down (was decommisioned). In any case, we treat this<a name="line.302"></a>
-<span class="sourceLineNo">303</span>        // log file as eligible for inclusion into incremental backup log list<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        Long ts = newestTimestamps.get(host);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        if (ts ==  null) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>          LOG.warn("ORPHAN log found: " + log + " host=" + host);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          LOG.debug("Known hosts (from newestTimestamps):");<a name="line.307"></a>
-<span class="sourceLineNo">308</span>          for (String s: newestTimestamps.keySet()) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>            LOG.debug(s);<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>        if (ts == null || currentLogTS &gt; ts) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>          newestLogs.add(currentLogFile);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>        }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      }<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    // Include the .oldlogs files too.<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    FileStatus[] oldlogs = fs.listStatus(oldLogDir);<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    for (FileStatus oldlog : oldlogs) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      p = oldlog.getPath();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      currentLogFile = p.toString();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      if (AbstractFSWALProvider.isMetaFile(p)) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        if (LOG.isDebugEnabled()) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>          LOG.debug("Skip .meta log file: " + currentLogFile);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>        continue;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      }<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      host = BackupUtils.parseHostFromOldLog(p);<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      if (host == null) {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>        continue;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      currentLogTS = BackupUtils.getCreationTime(p);<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      oldTimeStamp = olderTimestamps.get(host);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      /*<a name="line.335"></a>
-<span class="sourceLineNo">336</span>       * It is possible that there is no old timestamp in backup system table for this host. At the<a name="line.336"></a>
-<span class="sourceLineNo">337</span>       * time of our last backup operation, this rs did not exist. The reason can be one of the two:<a name="line.337"></a>
-<span class="sourceLineNo">338</span>       * 1. The rs already left/crashed. Its logs were moved to .oldlogs. 2. The rs was added after<a name="line.338"></a>
-<span class="sourceLineNo">339</span>       * our last backup.<a name="line.339"></a>
-<span class="sourceLineNo">340</span>       */<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      if (oldTimeStamp == null) {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>        if (currentLogTS &lt; Long.parseLong(savedStartCode)) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>          // This log file is really old, its region server was before our last backup.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>          continue;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        } else {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>          resultLogFiles.add(currentLogFile);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        }<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      } else if (currentLogTS &gt; oldTimeStamp) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        resultLogFiles.add(currentLogFile);<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>      // It is possible that a host in .oldlogs is an obsolete region server<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      // so newestTimestamps.get(host) here can be null.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      // Even if these logs belong to a obsolete region server, we still need<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      // to include they to avoid loss of edits for backup.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      Long newTimestamp = newestTimestamps.get(host);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      if (newTimestamp == null || currentLogTS &gt; newTimestamp) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        newestLogs.add(currentLogFile);<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      }<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    }<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    // remove newest log per host because they are still in use<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    resultLogFiles.removeAll(newestLogs);<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    return resultLogFiles;<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>  static class NewestLogFilter implements PathFilter {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    private Long lastBackupTS = 0L;<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>    public NewestLogFilter() {<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>    protected void setLastBackupTS(Long ts) {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      this.lastBackupTS = ts;<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 boolean accept(Path path) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      // skip meta table log -- ts.meta file<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      if (AbstractFSWALProvider.isMetaFile(path)) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        if (LOG.isDebugEnabled()) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>          LOG.debug("Skip .meta log file: " + path.getName());<a name="line.381"></a>
-<span class="sourceLineNo">382</span>        }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>        return false;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      }<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      long timestamp;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      try {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>        timestamp = BackupUtils.getCreationTime(path);<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        return timestamp &gt; lastBackupTS;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      } catch (Exception e) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>        LOG.warn("Cannot read timestamp of log file " + path);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>        return false;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span>}<a name="line.395"></a>
+<span class="sourceLineNo">246</span><a name="line.246"></a>
+<span class="sourceLineNo">247</span>    Path walRootDir = CommonFSUtils.getWALRootDir(conf);<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    Path logDir = new Path(walRootDir, HConstants.HREGION_LOGDIR_NAME);<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    Path oldLogDir = new Path(walRootDir, HConstants.HREGION_OLDLOGDIR_NAME);<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    FileSystem fs = walRootDir.getFileSystem(conf);<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    NewestLogFilter pathFilter = new NewestLogFilter();<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span>    List&lt;String&gt; resultLogFiles = new ArrayList&lt;&gt;();<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    List&lt;String&gt; newestLogs = new ArrayList&lt;&gt;();<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>     * The old region servers and timestamps info we kept in backup system table may be out of sync<a name="line.257"></a>
+<span class="sourceLineNo">258</span>     * if new region server is added or existing one lost. We'll deal with it here when processing<a name="line.258"></a>
+<span class="sourceLineNo">259</span>     * the logs. If data in backup system table has more hosts, just ignore it. If the .logs<a name="line.259"></a>
+<span class="sourceLineNo">260</span>     * directory includes more hosts, the additional hosts will not have old timestamps to compare<a name="line.260"></a>
+<span class="sourceLineNo">261</span>     * with. We'll just use all the logs in that directory. We always write up-to-date region server<a name="line.261"></a>
+<span class="sourceLineNo">262</span>     * and timestamp info to backup system table at the end of successful backup.<a name="line.262"></a>
+<span class="sourceLineNo">263</span>     */<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    FileStatus[] rss;<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    Path p;<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    String host;<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    Long oldTimeStamp;<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    String currentLogFile;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    long currentLogTS;<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>    // Get the files in .logs.<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    rss = fs.listStatus(logDir);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    for (FileStatus rs : rss) {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      p = rs.getPath();<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      host = BackupUtils.parseHostNameFromLogFile(p);<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      if (host == null) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>        continue;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      }<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      FileStatus[] logs;<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      oldTimeStamp = olderTimestamps.get(host);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      // It is possible that there is no old timestamp in backup system table for this host if<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      // this region server is newly added after our last backup.<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      if (oldTimeStamp == null) {<a name="line.283"></a>
+<span class="sourceLineNo">284</span>        logs = fs.listStatus(p);<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      } else {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        pathFilter.setLastBackupTS(oldTimeStamp);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>        logs = fs.listStatus(p, pathFilter);<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      }<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      for (FileStatus log : logs) {<a name="line.289"></a>
+<span class="sourceLineNo">290</span>        LOG.debug("currentLogFile: " + log.getPath().toString());<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        if (AbstractFSWALProvider.isMetaFile(log.getPath())) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>          if (LOG.isDebugEnabled()) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>            LOG.debug("Skip hbase:meta log file: " + log.getPath().getName());<a name="line.293"></a>
+<span class="sourceLineNo">294</span>          }<a name="line.294"></a>
+<span class="sourceLineNo">295</span>          continue;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>        }<a name="line.296"></a>
+<span class="sourceLineNo">297</span>        currentLogFile = log.getPath().toString();<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        resultLogFiles.add(currentLogFile);<a name="line.298"></a>
+<span class="sourceLineNo">299</span>        currentLogTS = BackupUtils.getCreationTime(log.getPath());<a name="line.299"></a>
+<span class="sourceLineNo">300</span><a name="line.300"></a>
+<span class="sourceLineNo">301</span>        // If newestTimestamps.get(host) is null, means that<a name="line.301"></a>
+<span class="sourceLineNo">302</span>        // either RS (host) has been restarted recently with different port number<a name="line.302"></a>
+<span class="sourceLineNo">303</span>        // or RS is down (was decommisioned). In any case, we treat this<a name="line.303"></a>
+<span class="sourceLineNo">304</span>        // log file as eligible for inclusion into incremental backup log list<a name="line.304"></a>
+<span class="sourceLineNo">305</span>        Long ts = newestTimestamps.get(host);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>        if (ts ==  null) {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>          LOG.warn("ORPHAN log found: " + log + " host=" + host);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>          LOG.debug("Known hosts (from newestTimestamps):");<a name="line.308"></a>
+<span class="sourceLineNo">309</span>          for (String s: newestTimestamps.keySet()) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>            LOG.debug(s);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>          }<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        }<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        if (ts == null || currentLogTS &gt; ts) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>          newestLogs.add(currentLogFile);<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        }<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      }<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    }<a name="line.317"></a>
+<span class="sourceLineNo">318</span><a name="line.318"></a>
+<span class="sourceLineNo">319</span>    // Include the .oldlogs files too.<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    FileStatus[] oldlogs = fs.listStatus(oldLogDir);<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    for (FileStatus oldlog : oldlogs) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      p = oldlog.getPath();<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      currentLogFile = p.toString();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      if (AbstractFSWALProvider.isMetaFile(p)) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        if (LOG.isDebugEnabled()) {<a name="line.325"></a>
+<span class="sourceLineNo">326</span>          LOG.debug("Skip .meta log file: " + currentLogFile);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        continue;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      }<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      host = BackupUtils.parseHostFromOldLog(p);<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      if (host == null) {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>        continue;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      }<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      currentLogTS = BackupUtils.getCreationTime(p);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      oldTimeStamp = olderTimestamps.get(host);<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      /*<a name="line.336"></a>
+<span class="sourceLineNo">337</span>       * It is possible that there is no old timestamp in backup system table for this host. At the<a name="line.337"></a>
+<span class="sourceLineNo">338</span>       * time of our last backup operation, this rs did not exist. The reason can be one of the two:<a name="line.338"></a>
+<span class="sourceLineNo">339</span>       * 1. The rs already left/crashed. Its logs were moved to .oldlogs. 2. The rs was added after<a name="line.339"></a>
+<span class="sourceLineNo">340</span>       * our last backup.<a name="line.340"></a>
+<span class="sourceLineNo">341</span>       */<a name="line.341"></a>
+<span class="sourceLineNo">342</span>      if (oldTimeStamp == null) {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>        if (currentLogTS &lt; Long.parseLong(savedStartCode)) {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>          // This log file is really old, its region server was before our last backup.<a name="line.344"></a>
+<span class="sourceLineNo">345</span>          continue;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>        } else {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>          resultLogFiles.add(currentLogFile);<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        }<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      } else if (currentLogTS &gt; oldTimeStamp) {<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        resultLogFiles.add(currentLogFile);<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>      // It is possible that a host in .oldlogs is an obsolete region server<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      // so newestTimestamps.get(host) here can be null.<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      // Even if these logs belong to a obsolete region server, we still need<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      // to include they to avoid loss of edits for backup.<a name="line.356"></a>
+<span class="sourceLineNo">357</span>      Long newTimestamp = newestTimestamps.get(host);<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      if (newTimestamp == null || currentLogTS &gt; newTimestamp) {<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        newestLogs.add(currentLogFile);<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>    // remove newest log per host because they are still in use<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    resultLogFiles.removeAll(newestLogs);<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    return resultLogFiles;<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>  static class NewestLogFilter implements PathFilter {<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    private Long lastBackupTS = 0L;<a name="line.368"></a>
+<span class="sourceLineNo">369</span><a name="line.369"></a>
+<span class="sourceLineNo">370</span>    public NewestLogFilter() {<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>    protected void setLastBackupTS(Long ts) {<a name="line.373"></a>
+<span class="sourceLineNo">374</span>      this.lastBackupTS = ts;<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 boolean accept(Path path) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      // skip meta table log -- ts.meta file<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      if (AbstractFSWALProvider.isMetaFile(path)) {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>        if (LOG.isDebugEnabled()) {<a name="line.381"></a>
+<span class="sourceLineNo">382</span>          LOG.debug("Skip .meta log file: " + path.getName());<a name="line.382"></a>
+<span class="sourceLineNo">383</span>        }<a name="line.383"></a>
+<span class="sourceLineNo">384</span>        return false;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>      }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>      long timestamp;<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      try {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        timestamp = BackupUtils.getCreationTime(path);<a name="line.388"></a>
+<span class="sourceLineNo">389</span>        return timestamp &gt; lastBackupTS;<a name="line.389"></a>
+<span class="sourceLineNo">390</span>      } catch (Exception e) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        LOG.warn("Cannot read timestamp of log file " + path);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        return false;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      }<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    }<a name="line.394"></a>
+<span class="sourceLineNo">395</span>  }<a name="line.395"></a>
+<span class="sourceLineNo">396</span>}<a name="line.396"></a>