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 2018/02/01 15:14:07 UTC
[09/16] hbase-site git commit: Published site at .
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e0de27b7/devapidocs/org/apache/hadoop/hbase/util/compaction/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/compaction/package-use.html b/devapidocs/org/apache/hadoop/hbase/util/compaction/package-use.html
new file mode 100644
index 0000000..1e44f7b
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/util/compaction/package-use.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.hadoop.hbase.util.compaction (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+ try {
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package org.apache.hadoop.hbase.util.compaction (Apache HBase 3.0.0-SNAPSHOT API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/util/compaction/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.hadoop.hbase.util.compaction" class="title">Uses of Package<br>org.apache.hadoop.hbase.util.compaction</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/util/compaction/package-summary.html">org.apache.hadoop.hbase.util.compaction</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.util.compaction">org.apache.hadoop.hbase.util.compaction</a></td>
+<td class="colLast"> </td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.hadoop.hbase.util.compaction">
+<!-- -->
+</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/compaction/package-summary.html">org.apache.hadoop.hbase.util.compaction</a> used by <a href="../../../../../../org/apache/hadoop/hbase/util/compaction/package-summary.html">org.apache.hadoop.hbase.util.compaction</a></span><span class="tabEnd"> </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/compaction/class-use/ClusterCompactionQueues.html#org.apache.hadoop.hbase.util.compaction">ClusterCompactionQueues</a> </td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/util/compaction/class-use/MajorCompactionRequest.html#org.apache.hadoop.hbase.util.compaction">MajorCompactionRequest</a> </td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!-- -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/util/compaction/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright © 2007–2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e0de27b7/devapidocs/org/apache/hadoop/hbase/util/hbck/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/hbck/package-summary.html b/devapidocs/org/apache/hadoop/hbase/util/hbck/package-summary.html
index 1e9a492..d46ef95 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/hbck/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/hbck/package-summary.html
@@ -43,7 +43,7 @@
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/util/package-summary.html">Prev Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/util/compaction/package-summary.html">Prev Package</a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/wal/package-summary.html">Next Package</a></li>
</ul>
<ul class="navList">
@@ -151,7 +151,7 @@
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/util/package-summary.html">Prev Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/util/compaction/package-summary.html">Prev Package</a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/wal/package-summary.html">Next Package</a></li>
</ul>
<ul class="navList">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e0de27b7/devapidocs/org/apache/hadoop/hbase/util/hbck/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/hbck/package-tree.html b/devapidocs/org/apache/hadoop/hbase/util/hbck/package-tree.html
index 44210a4..138a7f2 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/hbck/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/hbck/package-tree.html
@@ -43,7 +43,7 @@
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/util/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/util/compaction/package-tree.html">Prev</a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/wal/package-tree.html">Next</a></li>
</ul>
<ul class="navList">
@@ -119,7 +119,7 @@
</div>
<div class="subNav">
<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/util/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/util/compaction/package-tree.html">Prev</a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/wal/package-tree.html">Next</a></li>
</ul>
<ul class="navList">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e0de27b7/devapidocs/org/apache/hadoop/hbase/util/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-summary.html b/devapidocs/org/apache/hadoop/hbase/util/package-summary.html
index 297e006..cf3aa53 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-summary.html
@@ -44,7 +44,7 @@
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/types/package-summary.html">Prev Package</a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/util/hbck/package-summary.html">Next Package</a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/util/compaction/package-summary.html">Next Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/util/package-summary.html" target="_top">Frames</a></li>
@@ -1436,7 +1436,7 @@
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/types/package-summary.html">Prev Package</a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/util/hbck/package-summary.html">Next Package</a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/util/compaction/package-summary.html">Next Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/util/package-summary.html" target="_top">Frames</a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e0de27b7/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 96901ed..ca0e581 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -44,7 +44,7 @@
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/types/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/util/hbck/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/util/compaction/package-tree.html">Next</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/util/package-tree.html" target="_top">Frames</a></li>
@@ -536,13 +536,13 @@
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">ChecksumType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.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><T>)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/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><T>)</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/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/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/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><T>)</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/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
</ul>
</li>
</ul>
@@ -571,7 +571,7 @@
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/types/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/util/hbck/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/util/compaction/package-tree.html">Next</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/util/package-tree.html" target="_top">Frames</a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e0de27b7/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index bfa7220..a29ad5c 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -189,8 +189,8 @@
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e0de27b7/devapidocs/overview-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-frame.html b/devapidocs/overview-frame.html
index 51f8950..d7a7212 100644
--- a/devapidocs/overview-frame.html
+++ b/devapidocs/overview-frame.html
@@ -119,6 +119,7 @@
<li><a href="org/apache/hadoop/hbase/trace/package-frame.html" target="packageFrame">org.apache.hadoop.hbase.trace</a></li>
<li><a href="org/apache/hadoop/hbase/types/package-frame.html" target="packageFrame">org.apache.hadoop.hbase.types</a></li>
<li><a href="org/apache/hadoop/hbase/util/package-frame.html" target="packageFrame">org.apache.hadoop.hbase.util</a></li>
+<li><a href="org/apache/hadoop/hbase/util/compaction/package-frame.html" target="packageFrame">org.apache.hadoop.hbase.util.compaction</a></li>
<li><a href="org/apache/hadoop/hbase/util/hbck/package-frame.html" target="packageFrame">org.apache.hadoop.hbase.util.hbck</a></li>
<li><a href="org/apache/hadoop/hbase/wal/package-frame.html" target="packageFrame">org.apache.hadoop.hbase.wal</a></li>
<li><a href="org/apache/hadoop/hbase/zookeeper/package-frame.html" target="packageFrame">org.apache.hadoop.hbase.zookeeper</a></li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e0de27b7/devapidocs/overview-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-summary.html b/devapidocs/overview-summary.html
index d83b985..6993523 100644
--- a/devapidocs/overview-summary.html
+++ b/devapidocs/overview-summary.html
@@ -564,34 +564,38 @@ service.</div>
<td class="colLast"> </td>
</tr>
<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="colFirst"><a href="org/apache/hadoop/hbase/util/compaction/package-summary.html">org.apache.hadoop.hbase.util.compaction</a></td>
<td class="colLast"> </td>
</tr>
<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="colFirst"><a href="org/apache/hadoop/hbase/util/hbck/package-summary.html">org.apache.hadoop.hbase.util.hbck</a></td>
<td class="colLast"> </td>
</tr>
<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="colFirst"><a href="org/apache/hadoop/hbase/wal/package-summary.html">org.apache.hadoop.hbase.wal</a></td>
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
-<td class="colFirst"><a href="org/apache/hadoop/metrics2/package-summary.html">org.apache.hadoop.metrics2</a></td>
+<td class="colFirst"><a href="org/apache/hadoop/hbase/zookeeper/package-summary.html">org.apache.hadoop.hbase.zookeeper</a></td>
<td class="colLast"> </td>
</tr>
<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="colFirst"><a href="org/apache/hadoop/metrics2/package-summary.html">org.apache.hadoop.metrics2</a></td>
<td class="colLast"> </td>
</tr>
<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="colFirst"><a href="org/apache/hadoop/metrics2/impl/package-summary.html">org.apache.hadoop.metrics2.impl</a></td>
<td class="colLast"> </td>
</tr>
<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="colFirst"><a href="org/apache/hadoop/metrics2/lib/package-summary.html">org.apache.hadoop.metrics2.lib</a></td>
<td class="colLast"> </td>
</tr>
<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/hadoop/metrics2/util/package-summary.html">org.apache.hadoop.metrics2.util</a></td>
+<td class="colLast"> </td>
+</tr>
+<tr class="altColor">
<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
@@ -599,7 +603,7 @@ service.</div>
archetype with hbase-client dependency.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<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/e0de27b7/devapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index b2125ef..d749882 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -179,6 +179,7 @@
<li><a href="org/apache/hadoop/hbase/trace/package-tree.html">org.apache.hadoop.hbase.trace</a>, </li>
<li><a href="org/apache/hadoop/hbase/types/package-tree.html">org.apache.hadoop.hbase.types</a>, </li>
<li><a href="org/apache/hadoop/hbase/util/package-tree.html">org.apache.hadoop.hbase.util</a>, </li>
+<li><a href="org/apache/hadoop/hbase/util/compaction/package-tree.html">org.apache.hadoop.hbase.util.compaction</a>, </li>
<li><a href="org/apache/hadoop/hbase/util/hbck/package-tree.html">org.apache.hadoop.hbase.util.hbck</a>, </li>
<li><a href="org/apache/hadoop/hbase/wal/package-tree.html">org.apache.hadoop.hbase.wal</a>, </li>
<li><a href="org/apache/hadoop/hbase/zookeeper/package-tree.html">org.apache.hadoop.hbase.zookeeper</a>, </li>
@@ -1066,6 +1067,7 @@
<li type="circle">org.apache.hadoop.hbase.snapshot.<a href="org/apache/hadoop/hbase/snapshot/ClientSnapshotDescriptionUtils.html" title="class in org.apache.hadoop.hbase.snapshot"><span class="typeNameLink">ClientSnapshotDescriptionUtils</span></a></li>
<li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ClientUtil.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">ClientUtil</span></a></li>
<li type="circle">org.apache.hadoop.hbase.rest.client.<a href="org/apache/hadoop/hbase/rest/client/Cluster.html" title="class in org.apache.hadoop.hbase.rest.client"><span class="typeNameLink">Cluster</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.compaction.<a href="org/apache/hadoop/hbase/util/compaction/ClusterCompactionQueues.html" title="class in org.apache.hadoop.hbase.util.compaction"><span class="typeNameLink">ClusterCompactionQueues</span></a></li>
<li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ClusterId.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterId</span></a></li>
<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="org/apache/hadoop/hbase/master/balancer/ClusterLoadState.html" title="class in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">ClusterLoadState</span></a></li>
<li type="circle">org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ClusterMarkingEntryFilter.html" title="class in org.apache.hadoop.hbase.replication"><span class="typeNameLink">ClusterMarkingEntryFilter</span></a> (implements org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/WALEntryFilter.html" title="interface in org.apache.hadoop.hbase.replication">WALEntryFilter</a>)</li>
@@ -2108,6 +2110,9 @@
<li type="circle">org.apache.hadoop.hbase.io.util.<a href="org/apache/hadoop/hbase/io/util/LRUDictionary.BidirectionalLRUMap.ByteBufferBackedNode.html" title="class in org.apache.hadoop.hbase.io.util"><span class="typeNameLink">LRUDictionary.BidirectionalLRUMap.ByteBufferBackedNode</span></a></li>
</ul>
</li>
+<li type="circle">org.apache.hadoop.hbase.util.compaction.<a href="org/apache/hadoop/hbase/util/compaction/MajorCompactionRequest.html" title="class in org.apache.hadoop.hbase.util.compaction"><span class="typeNameLink">MajorCompactionRequest</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.compaction.<a href="org/apache/hadoop/hbase/util/compaction/MajorCompactor.html" title="class in org.apache.hadoop.hbase.util.compaction"><span class="typeNameLink">MajorCompactor</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.compaction.<a href="org/apache/hadoop/hbase/util/compaction/MajorCompactor.Compact.html" title="class in org.apache.hadoop.hbase.util.compaction"><span class="typeNameLink">MajorCompactor.Compact</span></a> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)</li>
<li type="circle">org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/ManualEnvironmentEdge.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">ManualEnvironmentEdge</span></a> (implements org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/EnvironmentEdge.html" title="interface in org.apache.hadoop.hbase.util">EnvironmentEdge</a>)</li>
<li type="circle">org.apache.hadoop.mapreduce.Mapper<KEYIN,VALUEIN,KEYOUT,VALUEOUT>
<ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e0de27b7/devapidocs/package-list
----------------------------------------------------------------------
diff --git a/devapidocs/package-list b/devapidocs/package-list
index beeca12..57e7cdf 100644
--- a/devapidocs/package-list
+++ b/devapidocs/package-list
@@ -104,6 +104,7 @@ org.apache.hadoop.hbase.tool
org.apache.hadoop.hbase.trace
org.apache.hadoop.hbase.types
org.apache.hadoop.hbase.util
+org.apache.hadoop.hbase.util.compaction
org.apache.hadoop.hbase.util.hbck
org.apache.hadoop.hbase.wal
org.apache.hadoop.hbase.zookeeper
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e0de27b7/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 27ab598..a84ba8e 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 = "7c318cead902d8aa7c6defe67a6e76509c854d52";<a name="line.11"></a>
+<span class="sourceLineNo">011</span> public static final String revision = "9272f40a5c8afeeaa9569688c0fabfcd9264ee5e";<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 = "Wed Jan 31 14:41:23 UTC 2018";<a name="line.13"></a>
+<span class="sourceLineNo">013</span> public static final String date = "Thu Feb 1 14:41:30 UTC 2018";<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 = "ebc1cb526a52c72d4ebfd07fdc5564e5";<a name="line.15"></a>
+<span class="sourceLineNo">015</span> public static final String srcChecksum = "4cbd9302c514bcdc05cd4dcff56edce8";<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/e0de27b7/devapidocs/src-html/org/apache/hadoop/hbase/util/compaction/ClusterCompactionQueues.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/compaction/ClusterCompactionQueues.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/compaction/ClusterCompactionQueues.html
new file mode 100644
index 0000000..104eb34
--- /dev/null
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/compaction/ClusterCompactionQueues.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements. See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership. The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License. You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> * http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.util.compaction;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.util.List;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.Map;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.Optional;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.Set;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.ServerName;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hbase.thirdparty.com.google.common.collect.Maps;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.common.collect.Sets;<a name="line.31"></a>
+<span class="sourceLineNo">032</span><a name="line.32"></a>
+<span class="sourceLineNo">033</span>@InterfaceAudience.Private<a name="line.33"></a>
+<span class="sourceLineNo">034</span>class ClusterCompactionQueues {<a name="line.34"></a>
+<span class="sourceLineNo">035</span><a name="line.35"></a>
+<span class="sourceLineNo">036</span> private final Map<ServerName, List<MajorCompactionRequest>> compactionQueues;<a name="line.36"></a>
+<span class="sourceLineNo">037</span> private final Set<ServerName> compactingServers;<a name="line.37"></a>
+<span class="sourceLineNo">038</span> private final ReadWriteLock lock;<a name="line.38"></a>
+<span class="sourceLineNo">039</span> private final int concurrentServers;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span> ClusterCompactionQueues(int concurrentServers) {<a name="line.41"></a>
+<span class="sourceLineNo">042</span> this.concurrentServers = concurrentServers;<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span> this.compactionQueues = Maps.newHashMap();<a name="line.44"></a>
+<span class="sourceLineNo">045</span> this.lock = new ReentrantReadWriteLock();<a name="line.45"></a>
+<span class="sourceLineNo">046</span> this.compactingServers = Sets.newHashSet();<a name="line.46"></a>
+<span class="sourceLineNo">047</span> }<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span> void addToCompactionQueue(ServerName serverName, MajorCompactionRequest info) {<a name="line.49"></a>
+<span class="sourceLineNo">050</span> this.lock.writeLock().lock();<a name="line.50"></a>
+<span class="sourceLineNo">051</span> try {<a name="line.51"></a>
+<span class="sourceLineNo">052</span> List<MajorCompactionRequest> result = this.compactionQueues.get(serverName);<a name="line.52"></a>
+<span class="sourceLineNo">053</span> if (result == null) {<a name="line.53"></a>
+<span class="sourceLineNo">054</span> result = Lists.newArrayList();<a name="line.54"></a>
+<span class="sourceLineNo">055</span> compactionQueues.put(serverName, result);<a name="line.55"></a>
+<span class="sourceLineNo">056</span> }<a name="line.56"></a>
+<span class="sourceLineNo">057</span> result.add(info);<a name="line.57"></a>
+<span class="sourceLineNo">058</span> } finally {<a name="line.58"></a>
+<span class="sourceLineNo">059</span> this.lock.writeLock().unlock();<a name="line.59"></a>
+<span class="sourceLineNo">060</span> }<a name="line.60"></a>
+<span class="sourceLineNo">061</span> }<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span> boolean hasWorkItems() {<a name="line.63"></a>
+<span class="sourceLineNo">064</span> lock.readLock().lock();<a name="line.64"></a>
+<span class="sourceLineNo">065</span> try {<a name="line.65"></a>
+<span class="sourceLineNo">066</span> return !this.compactionQueues.values().stream().allMatch(List::isEmpty);<a name="line.66"></a>
+<span class="sourceLineNo">067</span> } finally {<a name="line.67"></a>
+<span class="sourceLineNo">068</span> lock.readLock().unlock();<a name="line.68"></a>
+<span class="sourceLineNo">069</span> }<a name="line.69"></a>
+<span class="sourceLineNo">070</span> }<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span> int getCompactionRequestsLeftToFinish() {<a name="line.72"></a>
+<span class="sourceLineNo">073</span> lock.readLock().lock();<a name="line.73"></a>
+<span class="sourceLineNo">074</span> try {<a name="line.74"></a>
+<span class="sourceLineNo">075</span> int size = 0;<a name="line.75"></a>
+<span class="sourceLineNo">076</span> for (List<MajorCompactionRequest> queue : compactionQueues.values()) {<a name="line.76"></a>
+<span class="sourceLineNo">077</span> size += queue.size();<a name="line.77"></a>
+<span class="sourceLineNo">078</span> }<a name="line.78"></a>
+<span class="sourceLineNo">079</span> return size;<a name="line.79"></a>
+<span class="sourceLineNo">080</span> } finally {<a name="line.80"></a>
+<span class="sourceLineNo">081</span> lock.readLock().unlock();<a name="line.81"></a>
+<span class="sourceLineNo">082</span> }<a name="line.82"></a>
+<span class="sourceLineNo">083</span> }<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span> @VisibleForTesting List<MajorCompactionRequest> getQueue(ServerName serverName) {<a name="line.85"></a>
+<span class="sourceLineNo">086</span> lock.readLock().lock();<a name="line.86"></a>
+<span class="sourceLineNo">087</span> try {<a name="line.87"></a>
+<span class="sourceLineNo">088</span> return compactionQueues.get(serverName);<a name="line.88"></a>
+<span class="sourceLineNo">089</span> } finally {<a name="line.89"></a>
+<span class="sourceLineNo">090</span> lock.readLock().unlock();<a name="line.90"></a>
+<span class="sourceLineNo">091</span> }<a name="line.91"></a>
+<span class="sourceLineNo">092</span> }<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span> MajorCompactionRequest reserveForCompaction(ServerName serverName) {<a name="line.94"></a>
+<span class="sourceLineNo">095</span> lock.writeLock().lock();<a name="line.95"></a>
+<span class="sourceLineNo">096</span> try {<a name="line.96"></a>
+<span class="sourceLineNo">097</span> if (!compactionQueues.get(serverName).isEmpty()) {<a name="line.97"></a>
+<span class="sourceLineNo">098</span> compactingServers.add(serverName);<a name="line.98"></a>
+<span class="sourceLineNo">099</span> return compactionQueues.get(serverName).remove(0);<a name="line.99"></a>
+<span class="sourceLineNo">100</span> }<a name="line.100"></a>
+<span class="sourceLineNo">101</span> return null;<a name="line.101"></a>
+<span class="sourceLineNo">102</span> } finally {<a name="line.102"></a>
+<span class="sourceLineNo">103</span> lock.writeLock().unlock();<a name="line.103"></a>
+<span class="sourceLineNo">104</span> }<a name="line.104"></a>
+<span class="sourceLineNo">105</span> }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span> void releaseCompaction(ServerName serverName) {<a name="line.107"></a>
+<span class="sourceLineNo">108</span> lock.writeLock().lock();<a name="line.108"></a>
+<span class="sourceLineNo">109</span> try {<a name="line.109"></a>
+<span class="sourceLineNo">110</span> compactingServers.remove(serverName);<a name="line.110"></a>
+<span class="sourceLineNo">111</span> } finally {<a name="line.111"></a>
+<span class="sourceLineNo">112</span> lock.writeLock().unlock();<a name="line.112"></a>
+<span class="sourceLineNo">113</span> }<a name="line.113"></a>
+<span class="sourceLineNo">114</span> }<a name="line.114"></a>
+<span class="sourceLineNo">115</span><a name="line.115"></a>
+<span class="sourceLineNo">116</span> boolean atCapacity() {<a name="line.116"></a>
+<span class="sourceLineNo">117</span> lock.readLock().lock();<a name="line.117"></a>
+<span class="sourceLineNo">118</span> try {<a name="line.118"></a>
+<span class="sourceLineNo">119</span> return compactingServers.size() >= concurrentServers;<a name="line.119"></a>
+<span class="sourceLineNo">120</span> } finally {<a name="line.120"></a>
+<span class="sourceLineNo">121</span> lock.readLock().unlock();<a name="line.121"></a>
+<span class="sourceLineNo">122</span> }<a name="line.122"></a>
+<span class="sourceLineNo">123</span> }<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span> Optional<ServerName> getLargestQueueFromServersNotCompacting() {<a name="line.125"></a>
+<span class="sourceLineNo">126</span> lock.readLock().lock();<a name="line.126"></a>
+<span class="sourceLineNo">127</span> try {<a name="line.127"></a>
+<span class="sourceLineNo">128</span> return compactionQueues.entrySet().stream()<a name="line.128"></a>
+<span class="sourceLineNo">129</span> .filter(entry -> !compactingServers.contains(entry.getKey()))<a name="line.129"></a>
+<span class="sourceLineNo">130</span> .max(Map.Entry.comparingByValue(<a name="line.130"></a>
+<span class="sourceLineNo">131</span> (o1, o2) -> Integer.compare(o1.size(), o2.size()))).map(Map.Entry::getKey);<a name="line.131"></a>
+<span class="sourceLineNo">132</span> } finally {<a name="line.132"></a>
+<span class="sourceLineNo">133</span> lock.readLock().unlock();<a name="line.133"></a>
+<span class="sourceLineNo">134</span> }<a name="line.134"></a>
+<span class="sourceLineNo">135</span> }<a name="line.135"></a>
+<span class="sourceLineNo">136</span><a name="line.136"></a>
+<span class="sourceLineNo">137</span>}<a name="line.137"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e0de27b7/devapidocs/src-html/org/apache/hadoop/hbase/util/compaction/MajorCompactionRequest.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/compaction/MajorCompactionRequest.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/compaction/MajorCompactionRequest.html
new file mode 100644
index 0000000..14e408f
--- /dev/null
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/compaction/MajorCompactionRequest.html
@@ -0,0 +1,243 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements. See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership. The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License. You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> * http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.util.compaction;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.Collection;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.List;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.Optional;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.Set;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.conf.Configuration;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.fs.FileStatus;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.fs.FileSystem;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.fs.Path;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.client.Admin;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.regionserver.StoreFileInfo;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.slf4j.Logger;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.slf4j.LoggerFactory;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hbase.thirdparty.com.google.common.collect.Sets;<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>@InterfaceAudience.Private<a name="line.42"></a>
+<span class="sourceLineNo">043</span>class MajorCompactionRequest {<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span> private static final Logger LOG = LoggerFactory.getLogger(MajorCompactionRequest.class);<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span> private final Configuration configuration;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> private final RegionInfo region;<a name="line.48"></a>
+<span class="sourceLineNo">049</span> private Set<String> stores;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> private final long timestamp;<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span> @VisibleForTesting<a name="line.52"></a>
+<span class="sourceLineNo">053</span> MajorCompactionRequest(Configuration configuration, RegionInfo region,<a name="line.53"></a>
+<span class="sourceLineNo">054</span> Set<String> stores, long timestamp) {<a name="line.54"></a>
+<span class="sourceLineNo">055</span> this.configuration = configuration;<a name="line.55"></a>
+<span class="sourceLineNo">056</span> this.region = region;<a name="line.56"></a>
+<span class="sourceLineNo">057</span> this.stores = stores;<a name="line.57"></a>
+<span class="sourceLineNo">058</span> this.timestamp = timestamp;<a name="line.58"></a>
+<span class="sourceLineNo">059</span> }<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span> static Optional<MajorCompactionRequest> newRequest(Configuration configuration, RegionInfo info,<a name="line.61"></a>
+<span class="sourceLineNo">062</span> Set<String> stores, long timestamp) throws IOException {<a name="line.62"></a>
+<span class="sourceLineNo">063</span> MajorCompactionRequest request =<a name="line.63"></a>
+<span class="sourceLineNo">064</span> new MajorCompactionRequest(configuration, info, stores, timestamp);<a name="line.64"></a>
+<span class="sourceLineNo">065</span> return request.createRequest(configuration, stores);<a name="line.65"></a>
+<span class="sourceLineNo">066</span> }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span> RegionInfo getRegion() {<a name="line.68"></a>
+<span class="sourceLineNo">069</span> return region;<a name="line.69"></a>
+<span class="sourceLineNo">070</span> }<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span> Set<String> getStores() {<a name="line.72"></a>
+<span class="sourceLineNo">073</span> return stores;<a name="line.73"></a>
+<span class="sourceLineNo">074</span> }<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span> void setStores(Set<String> stores) {<a name="line.76"></a>
+<span class="sourceLineNo">077</span> this.stores = stores;<a name="line.77"></a>
+<span class="sourceLineNo">078</span> }<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span> @VisibleForTesting<a name="line.80"></a>
+<span class="sourceLineNo">081</span> Optional<MajorCompactionRequest> createRequest(Configuration configuration,<a name="line.81"></a>
+<span class="sourceLineNo">082</span> Set<String> stores) throws IOException {<a name="line.82"></a>
+<span class="sourceLineNo">083</span> Set<String> familiesToCompact = getStoresRequiringCompaction(stores);<a name="line.83"></a>
+<span class="sourceLineNo">084</span> MajorCompactionRequest request = null;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> if (!familiesToCompact.isEmpty()) {<a name="line.85"></a>
+<span class="sourceLineNo">086</span> request = new MajorCompactionRequest(configuration, region, familiesToCompact, timestamp);<a name="line.86"></a>
+<span class="sourceLineNo">087</span> }<a name="line.87"></a>
+<span class="sourceLineNo">088</span> return Optional.ofNullable(request);<a name="line.88"></a>
+<span class="sourceLineNo">089</span> }<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span> Set<String> getStoresRequiringCompaction(Set<String> requestedStores) throws IOException {<a name="line.91"></a>
+<span class="sourceLineNo">092</span> try(Connection connection = getConnection(configuration)) {<a name="line.92"></a>
+<span class="sourceLineNo">093</span> HRegionFileSystem fileSystem = getFileSystem(connection);<a name="line.93"></a>
+<span class="sourceLineNo">094</span> Set<String> familiesToCompact = Sets.newHashSet();<a name="line.94"></a>
+<span class="sourceLineNo">095</span> for (String family : requestedStores) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span> // do we have any store files?<a name="line.96"></a>
+<span class="sourceLineNo">097</span> Collection<StoreFileInfo> storeFiles = fileSystem.getStoreFiles(family);<a name="line.97"></a>
+<span class="sourceLineNo">098</span> if (storeFiles == null) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span> LOG.info("Excluding store: " + family + " for compaction for region: " + fileSystem<a name="line.99"></a>
+<span class="sourceLineNo">100</span> .getRegionInfo().getEncodedName(), " has no store files");<a name="line.100"></a>
+<span class="sourceLineNo">101</span> continue;<a name="line.101"></a>
+<span class="sourceLineNo">102</span> }<a name="line.102"></a>
+<span class="sourceLineNo">103</span> // check for reference files<a name="line.103"></a>
+<span class="sourceLineNo">104</span> if (fileSystem.hasReferences(family) && familyHasReferenceFile(fileSystem, family)) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span> familiesToCompact.add(family);<a name="line.105"></a>
+<span class="sourceLineNo">106</span> LOG.info("Including store: " + family + " with: " + storeFiles.size()<a name="line.106"></a>
+<span class="sourceLineNo">107</span> + " files for compaction for region: " + fileSystem.getRegionInfo().getEncodedName());<a name="line.107"></a>
+<span class="sourceLineNo">108</span> continue;<a name="line.108"></a>
+<span class="sourceLineNo">109</span> }<a name="line.109"></a>
+<span class="sourceLineNo">110</span> // check store file timestamps<a name="line.110"></a>
+<span class="sourceLineNo">111</span> boolean includeStore = false;<a name="line.111"></a>
+<span class="sourceLineNo">112</span> for (StoreFileInfo storeFile : storeFiles) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span> if (storeFile.getModificationTime() < timestamp) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span> LOG.info("Including store: " + family + " with: " + storeFiles.size()<a name="line.114"></a>
+<span class="sourceLineNo">115</span> + " files for compaction for region: "<a name="line.115"></a>
+<span class="sourceLineNo">116</span> + fileSystem.getRegionInfo().getEncodedName());<a name="line.116"></a>
+<span class="sourceLineNo">117</span> familiesToCompact.add(family);<a name="line.117"></a>
+<span class="sourceLineNo">118</span> includeStore = true;<a name="line.118"></a>
+<span class="sourceLineNo">119</span> break;<a name="line.119"></a>
+<span class="sourceLineNo">120</span> }<a name="line.120"></a>
+<span class="sourceLineNo">121</span> }<a name="line.121"></a>
+<span class="sourceLineNo">122</span> if (!includeStore) {<a name="line.122"></a>
+<span class="sourceLineNo">123</span> LOG.info("Excluding store: " + family + " for compaction for region: " + fileSystem<a name="line.123"></a>
+<span class="sourceLineNo">124</span> .getRegionInfo().getEncodedName(), " already compacted");<a name="line.124"></a>
+<span class="sourceLineNo">125</span> }<a name="line.125"></a>
+<span class="sourceLineNo">126</span> }<a name="line.126"></a>
+<span class="sourceLineNo">127</span> return familiesToCompact;<a name="line.127"></a>
+<span class="sourceLineNo">128</span> }<a name="line.128"></a>
+<span class="sourceLineNo">129</span> }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span> @VisibleForTesting<a name="line.131"></a>
+<span class="sourceLineNo">132</span> Connection getConnection(Configuration configuration) throws IOException {<a name="line.132"></a>
+<span class="sourceLineNo">133</span> return ConnectionFactory.createConnection(configuration);<a name="line.133"></a>
+<span class="sourceLineNo">134</span> }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span> private boolean familyHasReferenceFile(HRegionFileSystem fileSystem, String family)<a name="line.136"></a>
+<span class="sourceLineNo">137</span> throws IOException {<a name="line.137"></a>
+<span class="sourceLineNo">138</span> List<Path> referenceFiles =<a name="line.138"></a>
+<span class="sourceLineNo">139</span> getReferenceFilePaths(fileSystem.getFileSystem(), fileSystem.getStoreDir(family));<a name="line.139"></a>
+<span class="sourceLineNo">140</span> for (Path referenceFile : referenceFiles) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span> FileStatus status = fileSystem.getFileSystem().getFileLinkStatus(referenceFile);<a name="line.141"></a>
+<span class="sourceLineNo">142</span> if (status.getModificationTime() < timestamp) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span> LOG.info("Including store: " + family + " for compaction for region: " + fileSystem<a name="line.143"></a>
+<span class="sourceLineNo">144</span> .getRegionInfo().getEncodedName() + " (reference store files)");<a name="line.144"></a>
+<span class="sourceLineNo">145</span> return true;<a name="line.145"></a>
+<span class="sourceLineNo">146</span> }<a name="line.146"></a>
+<span class="sourceLineNo">147</span> }<a name="line.147"></a>
+<span class="sourceLineNo">148</span> return false;<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span> }<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span> @VisibleForTesting<a name="line.152"></a>
+<span class="sourceLineNo">153</span> List<Path> getReferenceFilePaths(FileSystem fileSystem, Path familyDir)<a name="line.153"></a>
+<span class="sourceLineNo">154</span> throws IOException {<a name="line.154"></a>
+<span class="sourceLineNo">155</span> return FSUtils.getReferenceFilePaths(fileSystem, familyDir);<a name="line.155"></a>
+<span class="sourceLineNo">156</span> }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span> @VisibleForTesting<a name="line.158"></a>
+<span class="sourceLineNo">159</span> HRegionFileSystem getFileSystem(Connection connection) throws IOException {<a name="line.159"></a>
+<span class="sourceLineNo">160</span> Admin admin = connection.getAdmin();<a name="line.160"></a>
+<span class="sourceLineNo">161</span> return HRegionFileSystem.openRegionFromFileSystem(admin.getConfiguration(),<a name="line.161"></a>
+<span class="sourceLineNo">162</span> FSUtils.getCurrentFileSystem(admin.getConfiguration()),<a name="line.162"></a>
+<span class="sourceLineNo">163</span> FSUtils.getTableDir(FSUtils.getRootDir(admin.getConfiguration()), region.getTable()),<a name="line.163"></a>
+<span class="sourceLineNo">164</span> region, true);<a name="line.164"></a>
+<span class="sourceLineNo">165</span> }<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span> @Override<a name="line.167"></a>
+<span class="sourceLineNo">168</span> public String toString() {<a name="line.168"></a>
+<span class="sourceLineNo">169</span> return "region: " + region.getEncodedName() + " store(s): " + stores;<a name="line.169"></a>
+<span class="sourceLineNo">170</span> }<a name="line.170"></a>
+<span class="sourceLineNo">171</span>}<a name="line.171"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>