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 2017/12/05 15:17:55 UTC

[5/7] hbase-site git commit: Published site at .

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index 1b42d2c..8e71822 100644
--- a/book.html
+++ b/book.html
@@ -5761,8 +5761,289 @@ In the HBase shell, there are new operators, <code>update_config</code> and <cod
 </div>
 <div class="paragraph">
 <p>Only a subset of all configurations can currently be changed in the running server.
-Here is an incomplete list: <code>hbase.regionserver.thread.compaction.large</code>, <code>hbase.regionserver.thread.compaction.small</code>, <code>hbase.regionserver.thread.split</code>, <code>hbase.regionserver.thread.merge</code>, as well as compaction policy and configurations and adjustment to offpeak hours.
-For the full list consult the patch attached to  <a href="https://issues.apache.org/jira/browse/HBASE-12147">HBASE-12147 Porting Online Config Change from 89-fb</a>.</p>
+Here are those configurations:</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 3. Configurations support dynamically change</caption>
+<colgroup>
+<col style="width: 50%;">
+<col style="width: 50%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Key</th>
+<th class="tableblock halign-left valign-top">Default Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.ipc.server.fallback-to-simple-auth-allowed</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.cleaner.scan.dir.concurrent.size</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.5</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.regionserver.thread.compaction.large</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.regionserver.thread.compaction.small</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.regionserver.thread.split</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.regionserver.throughput.controller</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">PressureAwareCompactionThroughputController.class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.regionserver.thread.hfilecleaner.throttle</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">64*1024*1024 (64M)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.regionserver.hfilecleaner.large.queue.size</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10240</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.regionserver.hfilecleaner.small.queue.size</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10240</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.regionserver.hfilecleaner.large.thread.count</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.regionserver.hfilecleaner.small.thread.count</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.regionserver.flush.throughput.controller</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">NoLimitThroughputController.class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hstore.compaction.max.size</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Long.MAX</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hstore.compaction.max.size.offpeak</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Long.MAX</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hstore.compaction.min.size</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1024*1024*128 (128M)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hstore.compaction.min</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hstore.compaction.max</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hstore.compaction.ratio</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1.2f</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hstore.compaction.ratio.offpeak</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5.0f</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.regionserver.thread.compaction.throttle</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2*10*1024*1024*128 (2560M)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hregion.majorcompaction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1000*60*60*24*7 (1 week)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hregion.majorcompaction.jitter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.5f</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hstore.min.locality.to.skip.major.compact</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.0f</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hstore.compaction.date.tiered.max.storefile.age.millis</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Long.MAX</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hstore.compaction.date.tiered.incoming.window.min</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">6</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hstore.compaction.date.tiered.window.policy.class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ExploringCompactionPolicy.class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hstore.compaction.date.tiered.single.output.for.minor.compaction</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.hstore.compaction.date.tiered.window.factory.class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ExponentialCompactionWindowFactory.class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.offpeak.start.hour</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-1</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.offpeak.end.hour</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-1</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.oldwals.cleaner.thread.size</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.procedure.worker.keep.alive.time.msec</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Long.MAX</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.procedure.worker.add.stuck.percentage</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.5f</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.procedure.worker.monitor.interval.msec</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5000 (5 seconds)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.procedure.worker.stuck.threshold.msec</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10000 (10 seconds)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.regions.slop</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.2</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.regions.overallSlop</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.2</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.balancer.tablesOnMaster</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.balancer.tablesOnMaster.systemTablesOnly</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.util.ip.to.rack.determiner</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ScriptBasedMapping.class</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.ipc.server.max.callqueue.length</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10*30</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.ipc.server.priority.max.callqueue.length</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10*30</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.ipc.server.callqueue.type</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">fifo</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.ipc.server.callqueue.codel.target.delay</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">100</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.ipc.server.callqueue.codel.interval</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">100</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.ipc.server.callqueue.codel.lifo.threshold</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.8</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.maxSteps</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1000000</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.stepsPerRegion</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">800</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.maxRunningTime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">30*1000 (30 seconds)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.runMaxSteps</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.numRegionLoadsToRemember</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">15</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.loadbalance.bytable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.minCostNeedBalance</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.05f</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.localityCost</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">25</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.rackLocalityCost</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">15</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.readRequestCost</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.writeRequestCost</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.memstoreSizeCost</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.storefileSizeCost</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.regionReplicaHostCostKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">100000</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.regionReplicaRackCostKey</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10000</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.regionCountCost</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">500</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.primaryRegionCountCost</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">500</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.moveCost</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">7</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.maxMovePercent</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.25f</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">hbase.master.balancer.stochastic.tableSkewCost</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">35</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>For more details consult the patch attached to  <a href="https://issues.apache.org/jira/browse/HBASE-12147">HBASE-12147 Porting Online Config Change from 89-fb</a>.</p>
 </div>
 </div>
 </div>
@@ -5967,7 +6248,7 @@ for warning about incompatible changes). All effort will be made to provide a de
 </ul>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 3. Compatibility Matrix <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnote_3" title="View footnote.">3</a>]</sup></caption>
+<caption class="title">Table 4. Compatibility Matrix <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnote_3" title="View footnote.">3</a>]</sup></caption>
 <colgroup>
 <col style="width: 25%;">
 <col style="width: 25%;">
@@ -7466,7 +7747,7 @@ The colon character (<code>:</code>) delimits the column family from the column
 </table>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 4. Table <code>webtable</code></caption>
+<caption class="title">Table 5. Table <code>webtable</code></caption>
 <colgroup>
 <col style="width: 20%;">
 <col style="width: 20%;">
@@ -7571,7 +7852,7 @@ This is only a mock-up for illustrative purposes and may not be strictly accurat
 A new column qualifier (column_family:column_qualifier) can be added to an existing column family at any time.</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 5. ColumnFamily <code>anchor</code></caption>
+<caption class="title">Table 6. ColumnFamily <code>anchor</code></caption>
 <colgroup>
 <col style="width: 33.3333%;">
 <col style="width: 33.3333%;">
@@ -7598,7 +7879,7 @@ A new column qualifier (column_family:column_qualifier) can be added to an exist
 </tbody>
 </table>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 6. ColumnFamily <code>contents</code></caption>
+<caption class="title">Table 7. ColumnFamily <code>contents</code></caption>
 <colgroup>
 <col style="width: 33.3333%;">
 <col style="width: 33.3333%;">
@@ -11801,7 +12082,7 @@ Users can also execute coprocessor endpoints, if given <code>Executable</code> p
 </ul>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 7. Real-World Example of Access Levels</caption>
+<caption class="title">Table 8. Real-World Example of Access Levels</caption>
 <colgroup>
 <col style="width: 25%;">
 <col style="width: 25%;">
@@ -12390,7 +12671,7 @@ Visibility labels are not currently applied for superusers.
 </table>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 8. Examples of Visibility Expressions</caption>
+<caption class="title">Table 9. Examples of Visibility Expressions</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -16440,7 +16721,7 @@ If you use HBase shell, the general command pattern is as follows:</p>
 <p>You can configure your date tiers by changing the settings for the following parameters:</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 9. Date Tier Parameters</caption>
+<caption class="title">Table 10. Date Tier Parameters</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -16620,7 +16901,7 @@ A good rule is to aim for a stripe size of at least 1 GB, and about 8-12 stripes
 For example, if your regions are 30 GB, 12 x 2.5 GB stripes might be a good starting point.</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 10. Stripe Sizing Settings</caption>
+<caption class="title">Table 11. Stripe Sizing Settings</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -18938,7 +19219,7 @@ creation or mutation, and <code>DELETE</code> for deletion.
 </table>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 11. Cluster-Wide Endpoints</caption>
+<caption class="title">Table 12. Cluster-Wide Endpoints</caption>
 <colgroup>
 <col style="width: 16.6666%;">
 <col style="width: 8.3333%;">
@@ -18981,7 +19262,7 @@ creation or mutation, and <code>DELETE</code> for deletion.
 </tbody>
 </table>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 12. Namespace Endpoints</caption>
+<caption class="title">Table 13. Namespace Endpoints</caption>
 <colgroup>
 <col style="width: 16.6666%;">
 <col style="width: 8.3333%;">
@@ -19048,7 +19329,7 @@ creation or mutation, and <code>DELETE</code> for deletion.
 </tbody>
 </table>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 13. Table Endpoints</caption>
+<caption class="title">Table 14. Table Endpoints</caption>
 <colgroup>
 <col style="width: 16.6666%;">
 <col style="width: 8.3333%;">
@@ -19111,7 +19392,7 @@ creation or mutation, and <code>DELETE</code> for deletion.
 </tbody>
 </table>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 14. Endpoints for <code>Get</code> Operations</caption>
+<caption class="title">Table 15. Endpoints for <code>Get</code> Operations</caption>
 <colgroup>
 <col style="width: 16.6666%;">
 <col style="width: 8.3333%;">
@@ -19166,7 +19447,7 @@ curl -vi -X GET \
 </tbody>
 </table>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 15. Endpoints for <code>Scan</code> Operations</caption>
+<caption class="title">Table 16. Endpoints for <code>Scan</code> Operations</caption>
 <colgroup>
 <col style="width: 16.6666%;">
 <col style="width: 8.3333%;">
@@ -19242,7 +19523,7 @@ has been exhausted, HTTP status <code>204</code> is returned.</p></td>
 </tbody>
 </table>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 16. Endpoints for <code>Put</code> Operations</caption>
+<caption class="title">Table 17. Endpoints for <code>Put</code> Operations</caption>
 <colgroup>
 <col style="width: 16.6666%;">
 <col style="width: 8.3333%;">
@@ -21790,7 +22071,7 @@ and <code>salaryDet</code>, containing personal and salary details. Below is the
 of the <code>users</code> table.</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 17. Users Table</caption>
+<caption class="title">Table 18. Users Table</caption>
 <colgroup>
 <col style="width: 14.2857%;">
 <col style="width: 14.2857%;">
@@ -31154,7 +31435,7 @@ End-of-life releases are not included in this list.
 </table>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 18. Release Managers</caption>
+<caption class="title">Table 19. Release Managers</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -33467,7 +33748,7 @@ The following cheat sheet is included for your reference. More nuanced and compr
 is available at <a href="http://asciidoctor.org/docs/user-manual/" class="bare">http://asciidoctor.org/docs/user-manual/</a>.</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 19. AsciiDoc Cheat Sheet</caption>
+<caption class="title">Table 20. AsciiDoc Cheat Sheet</caption>
 <colgroup>
 <col style="width: 33.3333%;">
 <col style="width: 33.3333%;">
@@ -34522,7 +34803,7 @@ In case the table goes out of date, the unit tests which check for accuracy of p
 </dl>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 20. ACL Matrix</caption>
+<caption class="title">Table 21. ACL Matrix</caption>
 <colgroup>
 <col style="width: 33.3333%;">
 <col style="width: 33.3333%;">
@@ -36016,7 +36297,7 @@ Note that the size of the trailer is different depending on the version, so it i
 However, the version is always stored as the last four-byte integer in the file.</p>
 </div>
 <table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 21. Differences between HFile Versions 1 and 2</caption>
+<caption class="title">Table 22. Differences between HFile Versions 1 and 2</caption>
 <colgroup>
 <col style="width: 50%;">
 <col style="width: 50%;">
@@ -36799,7 +37080,7 @@ The server will return cellblocks compressed using this same compressor as long
 <div id="footer">
 <div id="footer-text">
 Version 3.0.0-SNAPSHOT<br>
-Last updated 2017-12-04 14:33:56 UTC
+Last updated 2017-12-05 14:29:40 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index eb4115f..b8d5f81 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta name="Date-Revision-yyyymmdd" content="20171205" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -311,7 +311,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-12-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-12-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index a7e8089..e4218d1 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta name="Date-Revision-yyyymmdd" content="20171205" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -286,7 +286,7 @@
 <th><img src="images/icon_warning_sml.gif" alt="" />&#160;Warnings</th>
 <th><img src="images/icon_error_sml.gif" alt="" />&#160;Errors</th></tr>
 <tr class="b">
-<td>3447</td>
+<td>3448</td>
 <td>0</td>
 <td>0</td>
 <td>20747</td></tr></table></div>
@@ -26183,25 +26183,25 @@
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>636</td></tr>
+<td>637</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>638</td></tr>
+<td>639</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>653</td></tr>
+<td>654</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>ParenPad</td>
 <td>'(' is followed by whitespace.</td>
-<td>726</td></tr></table></div>
+<td>727</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.backup.impl.BackupCommands.java">org/apache/hadoop/hbase/backup/impl/BackupCommands.java</h3>
 <table border="0" class="table table-striped">
@@ -160056,7 +160056,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-12-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-12-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index b92c586..c3bd096 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -25,7 +25,7 @@ under the License.
     <language>en-us</language>
     <copyright>&#169;2007 - 2017 The Apache Software Foundation</copyright>
     <item>
-      <title>File: 3447,
+      <title>File: 3448,
              Errors: 20747,
              Warnings: 0,
              Infos: 0
@@ -9538,6 +9538,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.backup.TestBackupSmallTests.java">org/apache/hadoop/hbase/backup/TestBackupSmallTests.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+              </tr>
+                          <tr>
+                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.util.BloomFilterBase.java">org/apache/hadoop/hbase/util/BloomFilterBase.java</a>
                 </td>
                 <td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index 73605f0..5d2fa81 100644
--- a/coc.html
+++ b/coc.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta name="Date-Revision-yyyymmdd" content="20171205" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -380,7 +380,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-12-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-12-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/cygwin.html
----------------------------------------------------------------------
diff --git a/cygwin.html b/cygwin.html
index 2904dbb..d3dec71 100644
--- a/cygwin.html
+++ b/cygwin.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta name="Date-Revision-yyyymmdd" content="20171205" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Installing Apache HBase (TM) on Windows using Cygwin</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -679,7 +679,7 @@ Now your <b>HBase </b>server is running, <b>start coding</b> and build that next
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-12-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-12-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 3fba50a..95da553 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta name="Date-Revision-yyyymmdd" content="20171205" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -445,7 +445,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-12-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-12-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 9c9baf1..3985a62 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta name="Date-Revision-yyyymmdd" content="20171205" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -1008,7 +1008,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-12-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-12-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 63c5ca8..1ded7b5 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta name="Date-Revision-yyyymmdd" content="20171205" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -318,7 +318,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-12-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-12-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index ff192aa..b9e0096 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta name="Date-Revision-yyyymmdd" content="20171205" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -974,7 +974,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-12-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-12-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 1cd88ab..42867bb 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3705,21 +3705,21 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;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></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Mon Dec  4 14:47:11 UTC 2017"</code></td>
+<td class="colLast"><code>"Tue Dec  5 14:42:18 UTC 2017"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td class="colLast"><code>"3c02d9681b2d777677ce2ce1b21c2537ddd91817"</code></td>
+<td class="colLast"><code>"e29685ed6d144e6c33140bd8c9323101eb123e54"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;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></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"30495beff23a8606d12cf6be21433aa2"</code></td>
+<td class="colLast"><code>"5f0f4700b0461f81ca48e8b9acfdc7fa"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/devapidocs/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html b/devapidocs/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html
index 188b2a4..87bd3dc 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html
@@ -812,7 +812,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/backup/BackupAdmin
 <ul class="blockList">
 <li class="blockList">
 <h4>excludeNonExistingTables</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html#line.606">excludeNonExistingTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableList,
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html#line.607">excludeNonExistingTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableList,
                                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;nonExistingTableList)</pre>
 </li>
 </ul>
@@ -822,7 +822,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/backup/BackupAdmin
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeBackups</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html#line.616">mergeBackups</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;backupIds)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html#line.617">mergeBackups</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;backupIds)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/backup/BackupAdmin.html#mergeBackups-java.lang.String:A-">BackupAdmin</a></code></span></div>
 <div class="block">Merge backup images command</div>
@@ -844,7 +844,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/backup/BackupAdmin
 <ul class="blockListLast">
 <li class="blockList">
 <h4>checkIfValidForMerge</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html#line.638">checkIfValidForMerge</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;backupIds,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html#line.639">checkIfValidForMerge</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;backupIds,
                                   <a href="../../../../../../org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupSystemTable</a>&nbsp;table)
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Verifies that backup images are valid for merge.

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/devapidocs/src-html/org/apache/hadoop/hbase/IndividualBytesFieldCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/IndividualBytesFieldCell.html b/devapidocs/src-html/org/apache/hadoop/hbase/IndividualBytesFieldCell.html
index 21a3bf0..55e9e03 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/IndividualBytesFieldCell.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/IndividualBytesFieldCell.html
@@ -163,7 +163,7 @@
 <span class="sourceLineNo">155</span>      out.write((byte)(0xff &amp; getTagsLength()));<a name="line.155"></a>
 <span class="sourceLineNo">156</span><a name="line.156"></a>
 <span class="sourceLineNo">157</span>      // Tags byte array<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      out.write(tags);<a name="line.158"></a>
+<span class="sourceLineNo">158</span>      out.write(tags, tagsOffset, tagsLength);<a name="line.158"></a>
 <span class="sourceLineNo">159</span>    }<a name="line.159"></a>
 <span class="sourceLineNo">160</span><a name="line.160"></a>
 <span class="sourceLineNo">161</span>    return getSerializedSize(withTags);<a name="line.161"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/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 234b568..b33a62e 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 = "3c02d9681b2d777677ce2ce1b21c2537ddd91817";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "e29685ed6d144e6c33140bd8c9323101eb123e54";<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 = "Mon Dec  4 14:47:11 UTC 2017";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Tue Dec  5 14:42:18 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 = "30495beff23a8606d12cf6be21433aa2";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "5f0f4700b0461f81ca48e8b9acfdc7fa";<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/0bf68dc7/devapidocs/src-html/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html
index 90ad3af..5656060 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html
@@ -566,189 +566,190 @@
 <span class="sourceLineNo">558</span>          throw new IOException("Target backup directory " + targetTableBackupDir<a name="line.558"></a>
 <span class="sourceLineNo">559</span>              + " exists already.");<a name="line.559"></a>
 <span class="sourceLineNo">560</span>        }<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      }<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      ArrayList&lt;TableName&gt; nonExistingTableList = null;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>      try (Admin admin = conn.getAdmin();) {<a name="line.563"></a>
-<span class="sourceLineNo">564</span>        for (TableName tableName : tableList) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>          if (!admin.tableExists(tableName)) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>            if (nonExistingTableList == null) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>              nonExistingTableList = new ArrayList&lt;&gt;();<a name="line.567"></a>
-<span class="sourceLineNo">568</span>            }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>            nonExistingTableList.add(tableName);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>          }<a name="line.570"></a>
-<span class="sourceLineNo">571</span>        }<a name="line.571"></a>
-<span class="sourceLineNo">572</span>      }<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      if (nonExistingTableList != null) {<a name="line.573"></a>
-<span class="sourceLineNo">574</span>        if (type == BackupType.INCREMENTAL) {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>          // Update incremental backup set<a name="line.575"></a>
-<span class="sourceLineNo">576</span>          tableList = excludeNonExistingTables(tableList, nonExistingTableList);<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        } else {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>          // Throw exception only in full mode - we try to backup non-existing table<a name="line.578"></a>
-<span class="sourceLineNo">579</span>          throw new IOException("Non-existing tables found in the table list: "<a name="line.579"></a>
-<span class="sourceLineNo">580</span>              + nonExistingTableList);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      }<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    // update table list<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    BackupRequest.Builder builder = new BackupRequest.Builder();<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    request =<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        builder.withBackupType(request.getBackupType()).withTableList(tableList)<a name="line.588"></a>
-<span class="sourceLineNo">589</span>            .withTargetRootDir(request.getTargetRootDir())<a name="line.589"></a>
-<span class="sourceLineNo">590</span>            .withBackupSetName(request.getBackupSetName()).withTotalTasks(request.getTotalTasks())<a name="line.590"></a>
-<span class="sourceLineNo">591</span>            .withBandwidthPerTasks((int) request.getBandwidth()).build();<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>    TableBackupClient client = null;<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    try {<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      client = BackupClientFactory.create(conn, backupId, request);<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    } catch (IOException e) {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      LOG.error("There is an active session already running");<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      throw e;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>    client.execute();<a name="line.601"></a>
-<span class="sourceLineNo">602</span><a name="line.602"></a>
-<span class="sourceLineNo">603</span>    return backupId;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>  }<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>  private List&lt;TableName&gt; excludeNonExistingTables(List&lt;TableName&gt; tableList,<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      List&lt;TableName&gt; nonExistingTableList) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>    for (TableName table : nonExistingTableList) {<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      tableList.remove(table);<a name="line.610"></a>
-<span class="sourceLineNo">611</span>    }<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    return tableList;<a name="line.612"></a>
-<span class="sourceLineNo">613</span>  }<a name="line.613"></a>
-<span class="sourceLineNo">614</span><a name="line.614"></a>
-<span class="sourceLineNo">615</span>  @Override<a name="line.615"></a>
-<span class="sourceLineNo">616</span>  public void mergeBackups(String[] backupIds) throws IOException {<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    try (final BackupSystemTable sysTable = new BackupSystemTable(conn);) {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      checkIfValidForMerge(backupIds, sysTable);<a name="line.618"></a>
-<span class="sourceLineNo">619</span>      BackupMergeJob job = BackupRestoreFactory.getBackupMergeJob(conn.getConfiguration());<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      job.run(backupIds);<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    }<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  }<a name="line.622"></a>
-<span class="sourceLineNo">623</span><a name="line.623"></a>
-<span class="sourceLineNo">624</span>  /**<a name="line.624"></a>
-<span class="sourceLineNo">625</span>   * Verifies that backup images are valid for merge.<a name="line.625"></a>
-<span class="sourceLineNo">626</span>   *<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * &lt;ul&gt;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * &lt;li&gt;All backups MUST be in the same destination<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * &lt;li&gt;No FULL backups are allowed - only INCREMENTAL<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * &lt;li&gt;All backups must be in COMPLETE state<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * &lt;li&gt;No holes in backup list are allowed<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   * &lt;/ul&gt;<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * &lt;p&gt;<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * @param backupIds list of backup ids<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   * @param table backup system table<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * @throws IOException<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   */<a name="line.637"></a>
-<span class="sourceLineNo">638</span>  private void checkIfValidForMerge(String[] backupIds, BackupSystemTable table) throws IOException {<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    String backupRoot = null;<a name="line.639"></a>
-<span class="sourceLineNo">640</span><a name="line.640"></a>
-<span class="sourceLineNo">641</span>    final Set&lt;TableName&gt; allTables = new HashSet&lt;TableName&gt;();<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    final Set&lt;String&gt; allBackups = new HashSet&lt;String&gt;();<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    long minTime = Long.MAX_VALUE, maxTime = Long.MIN_VALUE;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    for (String backupId : backupIds) {<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      BackupInfo bInfo = table.readBackupInfo(backupId);<a name="line.645"></a>
-<span class="sourceLineNo">646</span>      if (bInfo == null) {<a name="line.646"></a>
-<span class="sourceLineNo">647</span>        String msg = "Backup session " + backupId + " not found";<a name="line.647"></a>
-<span class="sourceLineNo">648</span>        throw new IOException(msg);<a name="line.648"></a>
-<span class="sourceLineNo">649</span>      }<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      if (backupRoot == null) {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        backupRoot = bInfo.getBackupRootDir();<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      } else if (!bInfo.getBackupRootDir().equals(backupRoot)) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        throw new IOException("Found different backup destinations in a list of a backup sessions \n"<a name="line.653"></a>
-<span class="sourceLineNo">654</span>            + "1. " + backupRoot + "\n" + "2. " + bInfo.getBackupRootDir());<a name="line.654"></a>
-<span class="sourceLineNo">655</span>      }<a name="line.655"></a>
-<span class="sourceLineNo">656</span>      if (bInfo.getType() == BackupType.FULL) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>        throw new IOException("FULL backup image can not be merged for: \n" + bInfo);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>      }<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>      if (bInfo.getState() != BackupState.COMPLETE) {<a name="line.660"></a>
-<span class="sourceLineNo">661</span>        throw new IOException("Backup image " + backupId<a name="line.661"></a>
-<span class="sourceLineNo">662</span>            + " can not be merged becuase of its state: " + bInfo.getState());<a name="line.662"></a>
-<span class="sourceLineNo">663</span>      }<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      allBackups.add(backupId);<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      allTables.addAll(bInfo.getTableNames());<a name="line.665"></a>
-<span class="sourceLineNo">666</span>      long time = bInfo.getStartTs();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      if (time &lt; minTime) {<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        minTime = time;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      }<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      if (time &gt; maxTime) {<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        maxTime = time;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>      }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    }<a name="line.673"></a>
-<span class="sourceLineNo">674</span><a name="line.674"></a>
+<span class="sourceLineNo">561</span>        outputFs.mkdirs(targetTableBackupDirPath);<a name="line.561"></a>
+<span class="sourceLineNo">562</span>      }<a name="line.562"></a>
+<span class="sourceLineNo">563</span>      ArrayList&lt;TableName&gt; nonExistingTableList = null;<a name="line.563"></a>
+<span class="sourceLineNo">564</span>      try (Admin admin = conn.getAdmin();) {<a name="line.564"></a>
+<span class="sourceLineNo">565</span>        for (TableName tableName : tableList) {<a name="line.565"></a>
+<span class="sourceLineNo">566</span>          if (!admin.tableExists(tableName)) {<a name="line.566"></a>
+<span class="sourceLineNo">567</span>            if (nonExistingTableList == null) {<a name="line.567"></a>
+<span class="sourceLineNo">568</span>              nonExistingTableList = new ArrayList&lt;&gt;();<a name="line.568"></a>
+<span class="sourceLineNo">569</span>            }<a name="line.569"></a>
+<span class="sourceLineNo">570</span>            nonExistingTableList.add(tableName);<a name="line.570"></a>
+<span class="sourceLineNo">571</span>          }<a name="line.571"></a>
+<span class="sourceLineNo">572</span>        }<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      }<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      if (nonExistingTableList != null) {<a name="line.574"></a>
+<span class="sourceLineNo">575</span>        if (type == BackupType.INCREMENTAL) {<a name="line.575"></a>
+<span class="sourceLineNo">576</span>          // Update incremental backup set<a name="line.576"></a>
+<span class="sourceLineNo">577</span>          tableList = excludeNonExistingTables(tableList, nonExistingTableList);<a name="line.577"></a>
+<span class="sourceLineNo">578</span>        } else {<a name="line.578"></a>
+<span class="sourceLineNo">579</span>          // Throw exception only in full mode - we try to backup non-existing table<a name="line.579"></a>
+<span class="sourceLineNo">580</span>          throw new IOException("Non-existing tables found in the table list: "<a name="line.580"></a>
+<span class="sourceLineNo">581</span>              + nonExistingTableList);<a name="line.581"></a>
+<span class="sourceLineNo">582</span>        }<a name="line.582"></a>
+<span class="sourceLineNo">583</span>      }<a name="line.583"></a>
+<span class="sourceLineNo">584</span>    }<a name="line.584"></a>
+<span class="sourceLineNo">585</span><a name="line.585"></a>
+<span class="sourceLineNo">586</span>    // update table list<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    BackupRequest.Builder builder = new BackupRequest.Builder();<a name="line.587"></a>
+<span class="sourceLineNo">588</span>    request =<a name="line.588"></a>
+<span class="sourceLineNo">589</span>        builder.withBackupType(request.getBackupType()).withTableList(tableList)<a name="line.589"></a>
+<span class="sourceLineNo">590</span>            .withTargetRootDir(request.getTargetRootDir())<a name="line.590"></a>
+<span class="sourceLineNo">591</span>            .withBackupSetName(request.getBackupSetName()).withTotalTasks(request.getTotalTasks())<a name="line.591"></a>
+<span class="sourceLineNo">592</span>            .withBandwidthPerTasks((int) request.getBandwidth()).build();<a name="line.592"></a>
+<span class="sourceLineNo">593</span><a name="line.593"></a>
+<span class="sourceLineNo">594</span>    TableBackupClient client = null;<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    try {<a name="line.595"></a>
+<span class="sourceLineNo">596</span>      client = BackupClientFactory.create(conn, backupId, request);<a name="line.596"></a>
+<span class="sourceLineNo">597</span>    } catch (IOException e) {<a name="line.597"></a>
+<span class="sourceLineNo">598</span>      LOG.error("There is an active session already running");<a name="line.598"></a>
+<span class="sourceLineNo">599</span>      throw e;<a name="line.599"></a>
+<span class="sourceLineNo">600</span>    }<a name="line.600"></a>
+<span class="sourceLineNo">601</span><a name="line.601"></a>
+<span class="sourceLineNo">602</span>    client.execute();<a name="line.602"></a>
+<span class="sourceLineNo">603</span><a name="line.603"></a>
+<span class="sourceLineNo">604</span>    return backupId;<a name="line.604"></a>
+<span class="sourceLineNo">605</span>  }<a name="line.605"></a>
+<span class="sourceLineNo">606</span><a name="line.606"></a>
+<span class="sourceLineNo">607</span>  private List&lt;TableName&gt; excludeNonExistingTables(List&lt;TableName&gt; tableList,<a name="line.607"></a>
+<span class="sourceLineNo">608</span>      List&lt;TableName&gt; nonExistingTableList) {<a name="line.608"></a>
+<span class="sourceLineNo">609</span><a name="line.609"></a>
+<span class="sourceLineNo">610</span>    for (TableName table : nonExistingTableList) {<a name="line.610"></a>
+<span class="sourceLineNo">611</span>      tableList.remove(table);<a name="line.611"></a>
+<span class="sourceLineNo">612</span>    }<a name="line.612"></a>
+<span class="sourceLineNo">613</span>    return tableList;<a name="line.613"></a>
+<span class="sourceLineNo">614</span>  }<a name="line.614"></a>
+<span class="sourceLineNo">615</span><a name="line.615"></a>
+<span class="sourceLineNo">616</span>  @Override<a name="line.616"></a>
+<span class="sourceLineNo">617</span>  public void mergeBackups(String[] backupIds) throws IOException {<a name="line.617"></a>
+<span class="sourceLineNo">618</span>    try (final BackupSystemTable sysTable = new BackupSystemTable(conn);) {<a name="line.618"></a>
+<span class="sourceLineNo">619</span>      checkIfValidForMerge(backupIds, sysTable);<a name="line.619"></a>
+<span class="sourceLineNo">620</span>      BackupMergeJob job = BackupRestoreFactory.getBackupMergeJob(conn.getConfiguration());<a name="line.620"></a>
+<span class="sourceLineNo">621</span>      job.run(backupIds);<a name="line.621"></a>
+<span class="sourceLineNo">622</span>    }<a name="line.622"></a>
+<span class="sourceLineNo">623</span>  }<a name="line.623"></a>
+<span class="sourceLineNo">624</span><a name="line.624"></a>
+<span class="sourceLineNo">625</span>  /**<a name="line.625"></a>
+<span class="sourceLineNo">626</span>   * Verifies that backup images are valid for merge.<a name="line.626"></a>
+<span class="sourceLineNo">627</span>   *<a name="line.627"></a>
+<span class="sourceLineNo">628</span>   * &lt;ul&gt;<a name="line.628"></a>
+<span class="sourceLineNo">629</span>   * &lt;li&gt;All backups MUST be in the same destination<a name="line.629"></a>
+<span class="sourceLineNo">630</span>   * &lt;li&gt;No FULL backups are allowed - only INCREMENTAL<a name="line.630"></a>
+<span class="sourceLineNo">631</span>   * &lt;li&gt;All backups must be in COMPLETE state<a name="line.631"></a>
+<span class="sourceLineNo">632</span>   * &lt;li&gt;No holes in backup list are allowed<a name="line.632"></a>
+<span class="sourceLineNo">633</span>   * &lt;/ul&gt;<a name="line.633"></a>
+<span class="sourceLineNo">634</span>   * &lt;p&gt;<a name="line.634"></a>
+<span class="sourceLineNo">635</span>   * @param backupIds list of backup ids<a name="line.635"></a>
+<span class="sourceLineNo">636</span>   * @param table backup system table<a name="line.636"></a>
+<span class="sourceLineNo">637</span>   * @throws IOException<a name="line.637"></a>
+<span class="sourceLineNo">638</span>   */<a name="line.638"></a>
+<span class="sourceLineNo">639</span>  private void checkIfValidForMerge(String[] backupIds, BackupSystemTable table) throws IOException {<a name="line.639"></a>
+<span class="sourceLineNo">640</span>    String backupRoot = null;<a name="line.640"></a>
+<span class="sourceLineNo">641</span><a name="line.641"></a>
+<span class="sourceLineNo">642</span>    final Set&lt;TableName&gt; allTables = new HashSet&lt;TableName&gt;();<a name="line.642"></a>
+<span class="sourceLineNo">643</span>    final Set&lt;String&gt; allBackups = new HashSet&lt;String&gt;();<a name="line.643"></a>
+<span class="sourceLineNo">644</span>    long minTime = Long.MAX_VALUE, maxTime = Long.MIN_VALUE;<a name="line.644"></a>
+<span class="sourceLineNo">645</span>    for (String backupId : backupIds) {<a name="line.645"></a>
+<span class="sourceLineNo">646</span>      BackupInfo bInfo = table.readBackupInfo(backupId);<a name="line.646"></a>
+<span class="sourceLineNo">647</span>      if (bInfo == null) {<a name="line.647"></a>
+<span class="sourceLineNo">648</span>        String msg = "Backup session " + backupId + " not found";<a name="line.648"></a>
+<span class="sourceLineNo">649</span>        throw new IOException(msg);<a name="line.649"></a>
+<span class="sourceLineNo">650</span>      }<a name="line.650"></a>
+<span class="sourceLineNo">651</span>      if (backupRoot == null) {<a name="line.651"></a>
+<span class="sourceLineNo">652</span>        backupRoot = bInfo.getBackupRootDir();<a name="line.652"></a>
+<span class="sourceLineNo">653</span>      } else if (!bInfo.getBackupRootDir().equals(backupRoot)) {<a name="line.653"></a>
+<span class="sourceLineNo">654</span>        throw new IOException("Found different backup destinations in a list of a backup sessions \n"<a name="line.654"></a>
+<span class="sourceLineNo">655</span>            + "1. " + backupRoot + "\n" + "2. " + bInfo.getBackupRootDir());<a name="line.655"></a>
+<span class="sourceLineNo">656</span>      }<a name="line.656"></a>
+<span class="sourceLineNo">657</span>      if (bInfo.getType() == BackupType.FULL) {<a name="line.657"></a>
+<span class="sourceLineNo">658</span>        throw new IOException("FULL backup image can not be merged for: \n" + bInfo);<a name="line.658"></a>
+<span class="sourceLineNo">659</span>      }<a name="line.659"></a>
+<span class="sourceLineNo">660</span><a name="line.660"></a>
+<span class="sourceLineNo">661</span>      if (bInfo.getState() != BackupState.COMPLETE) {<a name="line.661"></a>
+<span class="sourceLineNo">662</span>        throw new IOException("Backup image " + backupId<a name="line.662"></a>
+<span class="sourceLineNo">663</span>            + " can not be merged becuase of its state: " + bInfo.getState());<a name="line.663"></a>
+<span class="sourceLineNo">664</span>      }<a name="line.664"></a>
+<span class="sourceLineNo">665</span>      allBackups.add(backupId);<a name="line.665"></a>
+<span class="sourceLineNo">666</span>      allTables.addAll(bInfo.getTableNames());<a name="line.666"></a>
+<span class="sourceLineNo">667</span>      long time = bInfo.getStartTs();<a name="line.667"></a>
+<span class="sourceLineNo">668</span>      if (time &lt; minTime) {<a name="line.668"></a>
+<span class="sourceLineNo">669</span>        minTime = time;<a name="line.669"></a>
+<span class="sourceLineNo">670</span>      }<a name="line.670"></a>
+<span class="sourceLineNo">671</span>      if (time &gt; maxTime) {<a name="line.671"></a>
+<span class="sourceLineNo">672</span>        maxTime = time;<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      }<a name="line.673"></a>
+<span class="sourceLineNo">674</span>    }<a name="line.674"></a>
 <span class="sourceLineNo">675</span><a name="line.675"></a>
-<span class="sourceLineNo">676</span>    final long startRangeTime  = minTime;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    final long endRangeTime = maxTime;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    final String backupDest = backupRoot;<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    // Check we have no 'holes' in backup id list<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    // Filter 1 : backupRoot<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    // Filter 2 : time range filter<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    // Filter 3 : table filter<a name="line.682"></a>
-<span class="sourceLineNo">683</span><a name="line.683"></a>
-<span class="sourceLineNo">684</span>    BackupInfo.Filter destinationFilter = new  BackupInfo.Filter() {<a name="line.684"></a>
-<span class="sourceLineNo">685</span><a name="line.685"></a>
-<span class="sourceLineNo">686</span>      @Override<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      public boolean apply(BackupInfo info) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>        return info.getBackupRootDir().equals(backupDest);<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      }<a name="line.689"></a>
-<span class="sourceLineNo">690</span>    };<a name="line.690"></a>
-<span class="sourceLineNo">691</span><a name="line.691"></a>
-<span class="sourceLineNo">692</span>    BackupInfo.Filter timeRangeFilter = new  BackupInfo.Filter() {<a name="line.692"></a>
-<span class="sourceLineNo">693</span><a name="line.693"></a>
-<span class="sourceLineNo">694</span>      @Override<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      public boolean apply(BackupInfo info) {<a name="line.695"></a>
-<span class="sourceLineNo">696</span>        long time = info.getStartTs();<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        return time &gt;= startRangeTime &amp;&amp; time &lt;= endRangeTime ;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      }<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    };<a name="line.699"></a>
-<span class="sourceLineNo">700</span><a name="line.700"></a>
-<span class="sourceLineNo">701</span>    BackupInfo.Filter tableFilter = new  BackupInfo.Filter() {<a name="line.701"></a>
-<span class="sourceLineNo">702</span><a name="line.702"></a>
-<span class="sourceLineNo">703</span>      @Override<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      public boolean apply(BackupInfo info) {<a name="line.704"></a>
-<span class="sourceLineNo">705</span>        List&lt;TableName&gt; tables = info.getTableNames();<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        return !Collections.disjoint(allTables, tables);<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      }<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    };<a name="line.708"></a>
-<span class="sourceLineNo">709</span><a name="line.709"></a>
-<span class="sourceLineNo">710</span>    BackupInfo.Filter typeFilter = new  BackupInfo.Filter() {<a name="line.710"></a>
-<span class="sourceLineNo">711</span><a name="line.711"></a>
-<span class="sourceLineNo">712</span>      @Override<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      public boolean apply(BackupInfo info) {<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        return info.getType() == BackupType.INCREMENTAL;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      }<a name="line.715"></a>
-<span class="sourceLineNo">716</span>    };<a name="line.716"></a>
-<span class="sourceLineNo">717</span><a name="line.717"></a>
-<span class="sourceLineNo">718</span>    BackupInfo.Filter stateFilter = new  BackupInfo.Filter() {<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      @Override<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      public boolean apply(BackupInfo info) {<a name="line.720"></a>
-<span class="sourceLineNo">721</span>        return info.getState() == BackupState.COMPLETE;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      }<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    };<a name="line.723"></a>
-<span class="sourceLineNo">724</span><a name="line.724"></a>
-<span class="sourceLineNo">725</span>    List&lt;BackupInfo&gt; allInfos =<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        table.getBackupHistory( -1, destinationFilter,<a name="line.726"></a>
-<span class="sourceLineNo">727</span>          timeRangeFilter, tableFilter, typeFilter, stateFilter);<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    if (allInfos.size() != allBackups.size()) {<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      // Yes we have at least one  hole in backup image sequence<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      List&lt;String&gt; missingIds = new ArrayList&lt;String&gt;();<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      for(BackupInfo info: allInfos) {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>        if(allBackups.contains(info.getBackupId())) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>          continue;<a name="line.733"></a>
-<span class="sourceLineNo">734</span>        }<a name="line.734"></a>
-<span class="sourceLineNo">735</span>        missingIds.add(info.getBackupId());<a name="line.735"></a>
-<span class="sourceLineNo">736</span>      }<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      String errMsg =<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          "Sequence of backup ids has 'holes'. The following backup images must be added:" +<a name="line.738"></a>
-<span class="sourceLineNo">739</span>           org.apache.hadoop.util.StringUtils.join(",", missingIds);<a name="line.739"></a>
-<span class="sourceLineNo">740</span>      throw new IOException(errMsg);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    }<a name="line.741"></a>
-<span class="sourceLineNo">742</span>  }<a name="line.742"></a>
-<span class="sourceLineNo">743</span>}<a name="line.743"></a>
+<span class="sourceLineNo">676</span><a name="line.676"></a>
+<span class="sourceLineNo">677</span>    final long startRangeTime  = minTime;<a name="line.677"></a>
+<span class="sourceLineNo">678</span>    final long endRangeTime = maxTime;<a name="line.678"></a>
+<span class="sourceLineNo">679</span>    final String backupDest = backupRoot;<a name="line.679"></a>
+<span class="sourceLineNo">680</span>    // Check we have no 'holes' in backup id list<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    // Filter 1 : backupRoot<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    // Filter 2 : time range filter<a name="line.682"></a>
+<span class="sourceLineNo">683</span>    // Filter 3 : table filter<a name="line.683"></a>
+<span class="sourceLineNo">684</span><a name="line.684"></a>
+<span class="sourceLineNo">685</span>    BackupInfo.Filter destinationFilter = new  BackupInfo.Filter() {<a name="line.685"></a>
+<span class="sourceLineNo">686</span><a name="line.686"></a>
+<span class="sourceLineNo">687</span>      @Override<a name="line.687"></a>
+<span class="sourceLineNo">688</span>      public boolean apply(BackupInfo info) {<a name="line.688"></a>
+<span class="sourceLineNo">689</span>        return info.getBackupRootDir().equals(backupDest);<a name="line.689"></a>
+<span class="sourceLineNo">690</span>      }<a name="line.690"></a>
+<span class="sourceLineNo">691</span>    };<a name="line.691"></a>
+<span class="sourceLineNo">692</span><a name="line.692"></a>
+<span class="sourceLineNo">693</span>    BackupInfo.Filter timeRangeFilter = new  BackupInfo.Filter() {<a name="line.693"></a>
+<span class="sourceLineNo">694</span><a name="line.694"></a>
+<span class="sourceLineNo">695</span>      @Override<a name="line.695"></a>
+<span class="sourceLineNo">696</span>      public boolean apply(BackupInfo info) {<a name="line.696"></a>
+<span class="sourceLineNo">697</span>        long time = info.getStartTs();<a name="line.697"></a>
+<span class="sourceLineNo">698</span>        return time &gt;= startRangeTime &amp;&amp; time &lt;= endRangeTime ;<a name="line.698"></a>
+<span class="sourceLineNo">699</span>      }<a name="line.699"></a>
+<span class="sourceLineNo">700</span>    };<a name="line.700"></a>
+<span class="sourceLineNo">701</span><a name="line.701"></a>
+<span class="sourceLineNo">702</span>    BackupInfo.Filter tableFilter = new  BackupInfo.Filter() {<a name="line.702"></a>
+<span class="sourceLineNo">703</span><a name="line.703"></a>
+<span class="sourceLineNo">704</span>      @Override<a name="line.704"></a>
+<span class="sourceLineNo">705</span>      public boolean apply(BackupInfo info) {<a name="line.705"></a>
+<span class="sourceLineNo">706</span>        List&lt;TableName&gt; tables = info.getTableNames();<a name="line.706"></a>
+<span class="sourceLineNo">707</span>        return !Collections.disjoint(allTables, tables);<a name="line.707"></a>
+<span class="sourceLineNo">708</span>      }<a name="line.708"></a>
+<span class="sourceLineNo">709</span>    };<a name="line.709"></a>
+<span class="sourceLineNo">710</span><a name="line.710"></a>
+<span class="sourceLineNo">711</span>    BackupInfo.Filter typeFilter = new  BackupInfo.Filter() {<a name="line.711"></a>
+<span class="sourceLineNo">712</span><a name="line.712"></a>
+<span class="sourceLineNo">713</span>      @Override<a name="line.713"></a>
+<span class="sourceLineNo">714</span>      public boolean apply(BackupInfo info) {<a name="line.714"></a>
+<span class="sourceLineNo">715</span>        return info.getType() == BackupType.INCREMENTAL;<a name="line.715"></a>
+<span class="sourceLineNo">716</span>      }<a name="line.716"></a>
+<span class="sourceLineNo">717</span>    };<a name="line.717"></a>
+<span class="sourceLineNo">718</span><a name="line.718"></a>
+<span class="sourceLineNo">719</span>    BackupInfo.Filter stateFilter = new  BackupInfo.Filter() {<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      @Override<a name="line.720"></a>
+<span class="sourceLineNo">721</span>      public boolean apply(BackupInfo info) {<a name="line.721"></a>
+<span class="sourceLineNo">722</span>        return info.getState() == BackupState.COMPLETE;<a name="line.722"></a>
+<span class="sourceLineNo">723</span>      }<a name="line.723"></a>
+<span class="sourceLineNo">724</span>    };<a name="line.724"></a>
+<span class="sourceLineNo">725</span><a name="line.725"></a>
+<span class="sourceLineNo">726</span>    List&lt;BackupInfo&gt; allInfos =<a name="line.726"></a>
+<span class="sourceLineNo">727</span>        table.getBackupHistory( -1, destinationFilter,<a name="line.727"></a>
+<span class="sourceLineNo">728</span>          timeRangeFilter, tableFilter, typeFilter, stateFilter);<a name="line.728"></a>
+<span class="sourceLineNo">729</span>    if (allInfos.size() != allBackups.size()) {<a name="line.729"></a>
+<span class="sourceLineNo">730</span>      // Yes we have at least one  hole in backup image sequence<a name="line.730"></a>
+<span class="sourceLineNo">731</span>      List&lt;String&gt; missingIds = new ArrayList&lt;String&gt;();<a name="line.731"></a>
+<span class="sourceLineNo">732</span>      for(BackupInfo info: allInfos) {<a name="line.732"></a>
+<span class="sourceLineNo">733</span>        if(allBackups.contains(info.getBackupId())) {<a name="line.733"></a>
+<span class="sourceLineNo">734</span>          continue;<a name="line.734"></a>
+<span class="sourceLineNo">735</span>        }<a name="line.735"></a>
+<span class="sourceLineNo">736</span>        missingIds.add(info.getBackupId());<a name="line.736"></a>
+<span class="sourceLineNo">737</span>      }<a name="line.737"></a>
+<span class="sourceLineNo">738</span>      String errMsg =<a name="line.738"></a>
+<span class="sourceLineNo">739</span>          "Sequence of backup ids has 'holes'. The following backup images must be added:" +<a name="line.739"></a>
+<span class="sourceLineNo">740</span>           org.apache.hadoop.util.StringUtils.join(",", missingIds);<a name="line.740"></a>
+<span class="sourceLineNo">741</span>      throw new IOException(errMsg);<a name="line.741"></a>
+<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
+<span class="sourceLineNo">743</span>  }<a name="line.743"></a>
+<span class="sourceLineNo">744</span>}<a name="line.744"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index 6e674a9..c3e1d56 100644
--- a/export_control.html
+++ b/export_control.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta name="Date-Revision-yyyymmdd" content="20171205" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Export Control
@@ -336,7 +336,7 @@ for more details.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-12-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-12-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/hbase-annotations/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/checkstyle.html b/hbase-annotations/checkstyle.html
index 5256c7a..f1b188d 100644
--- a/hbase-annotations/checkstyle.html
+++ b/hbase-annotations/checkstyle.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta name="Date-Revision-yyyymmdd" content="20171205" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -178,7 +178,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-12-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-12-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/hbase-annotations/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependencies.html b/hbase-annotations/dependencies.html
index 8a27635..faa7977 100644
--- a/hbase-annotations/dependencies.html
+++ b/hbase-annotations/dependencies.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta name="Date-Revision-yyyymmdd" content="20171205" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -272,7 +272,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-12-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-12-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/hbase-annotations/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-convergence.html b/hbase-annotations/dependency-convergence.html
index ddc2626..ecbd0c9 100644
--- a/hbase-annotations/dependency-convergence.html
+++ b/hbase-annotations/dependency-convergence.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta name="Date-Revision-yyyymmdd" content="20171205" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -838,7 +838,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-12-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-12-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0bf68dc7/hbase-annotations/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-info.html b/hbase-annotations/dependency-info.html
index 20b3294..cd557dd 100644
--- a/hbase-annotations/dependency-info.html
+++ b/hbase-annotations/dependency-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta name="Date-Revision-yyyymmdd" content="20171205" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -147,7 +147,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-12-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-12-05</li>
             </p>
                 </div>