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 2025/10/28 14:52:33 UTC
(hbase-site) branch asf-site updated: Published site at 07c2b5bff4ba507483ce4d801ddfccb2b15ab5e5.
This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hbase-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new a7cc65c169f Published site at 07c2b5bff4ba507483ce4d801ddfccb2b15ab5e5.
a7cc65c169f is described below
commit a7cc65c169fd036b8ddacbb2ff3b143a79123f90
Author: jenkins <bu...@apache.org>
AuthorDate: Tue Oct 28 14:52:10 2025 +0000
Published site at 07c2b5bff4ba507483ce4d801ddfccb2b15ab5e5.
---
acid-semantics.html | 2 +-
apache_hbase_reference_guide.pdf | 4 +-
apidocs/allclasses-index.html | 8 +
apidocs/index-all.html | 69 +
apidocs/member-search-index.js | 2 +-
...Limiter.FeedbackAdaptiveRateLimiterFactory.html | 62 +
...miter.html => FeedbackAdaptiveRateLimiter.html} | 36 +-
.../hadoop/hbase/quotas/class-use/RateLimiter.html | 9 +-
.../hadoop/hbase/quotas/package-summary.html | 8 +
.../apache/hadoop/hbase/quotas/package-tree.html | 2 +
.../apache/hadoop/hbase/quotas/package-use.html | 178 +-
apidocs/overview-tree.html | 2 +
...Limiter.FeedbackAdaptiveRateLimiterFactory.html | 439 ++
.../hbase/quotas/FeedbackAdaptiveRateLimiter.html | 439 ++
.../hbase/quotas/RpcThrottlingException.Type.html | 13 +-
.../hbase/quotas/RpcThrottlingException.html | 13 +-
.../hadoop/hbase/quotas/TimeBasedLimiter.html | 617 +--
apidocs/type-search-index.js | 2 +-
book.html | 2 +-
bulk-loads.html | 2 +-
checkstyle-aggregate.html | 4 +-
coc.html | 2 +-
dependency-convergence.html | 2 +-
dependency-info.html | 2 +-
dependency-management.html | 2 +-
devapidocs/allclasses-index.html | 8 +
devapidocs/constant-values.html | 53 +
devapidocs/index-all.html | 127 +
devapidocs/member-search-index.js | 2 +-
...Limiter.FeedbackAdaptiveRateLimiterFactory.html | 259 ++
.../hbase/quotas/FeedbackAdaptiveRateLimiter.html | 828 ++++
.../apache/hadoop/hbase/quotas/RateLimiter.html | 2 +-
.../hbase/quotas/RpcThrottlingException.html | 78 +-
.../hadoop/hbase/quotas/TimeBasedLimiter.html | 34 +-
...Limiter.FeedbackAdaptiveRateLimiterFactory.html | 62 +
.../class-use/FeedbackAdaptiveRateLimiter.html | 38 +-
.../hadoop/hbase/quotas/class-use/RateLimiter.html | 9 +-
.../hadoop/hbase/quotas/package-summary.html | 8 +
.../apache/hadoop/hbase/quotas/package-tree.html | 2 +
.../apache/hadoop/hbase/quotas/package-use.html | 246 +-
devapidocs/overview-tree.html | 2 +
...Limiter.FeedbackAdaptiveRateLimiterFactory.html | 439 ++
.../hbase/quotas/FeedbackAdaptiveRateLimiter.html | 439 ++
.../hbase/quotas/RpcThrottlingException.Type.html | 13 +-
.../hbase/quotas/RpcThrottlingException.html | 13 +-
.../hadoop/hbase/quotas/TimeBasedLimiter.html | 617 +--
devapidocs/type-search-index.js | 2 +-
documentation-1.4.html | 2 +-
documentation-2.3.html | 2 +-
documentation-2.4.html | 2 +-
documentation-2.5.html | 2 +-
documentation-2.6.html | 2 +-
downloads.html | 2 +-
export_control.html | 2 +-
index.html | 2 +-
issue-management.html | 2 +-
licenses.html | 2 +-
mailing-lists.html | 2 +-
metrics.html | 2 +-
old_news.html | 2 +-
plugin-management.html | 2 +-
plugins.html | 2 +-
poweredbyhbase.html | 2 +-
project-info.html | 2 +-
project-reports.html | 2 +-
pseudo-distributed.html | 2 +-
replication.html | 2 +-
resources.html | 2 +-
scm.html | 2 +-
sponsors.html | 2 +-
summary.html | 2 +-
supportingprojects.html | 2 +-
team.html | 2 +-
testapidocs/allclasses-index.html | 4251 ++++++++++----------
testapidocs/index-all.html | 41 +
testapidocs/member-search-index.js | 2 +-
.../hadoop/hbase/class-use/HBaseClassTestRule.html | 97 +-
.../class-use/TestFeedbackAdaptiveRateLimiter.html | 62 +
.../hadoop/hbase/quotas/package-summary.html | 169 +-
.../apache/hadoop/hbase/quotas/package-tree.html | 1 +
testapidocs/overview-tree.html | 1 +
.../quotas/TestFeedbackAdaptiveRateLimiter.html | 620 +++
testapidocs/type-search-index.js | 2 +-
testdevapidocs/allclasses-index.html | 7 +
testdevapidocs/index-all.html | 55 +
testdevapidocs/member-search-index.js | 2 +-
.../hadoop/hbase/class-use/HBaseClassTestRule.html | 97 +-
...kAdaptiveRateLimiter.ManualEnvironmentEdge.html | 216 +
.../quotas/TestFeedbackAdaptiveRateLimiter.html | 367 ++
...kAdaptiveRateLimiter.ManualEnvironmentEdge.html | 40 +-
.../class-use/TestFeedbackAdaptiveRateLimiter.html | 62 +
.../hadoop/hbase/quotas/package-summary.html | 7 +
.../apache/hadoop/hbase/quotas/package-tree.html | 2 +
.../apache/hadoop/hbase/quotas/package-use.html | 6 +-
testdevapidocs/overview-tree.html | 2 +
...kAdaptiveRateLimiter.ManualEnvironmentEdge.html | 620 +++
.../quotas/TestFeedbackAdaptiveRateLimiter.html | 620 +++
testdevapidocs/type-search-index.js | 2 +-
98 files changed, 9314 insertions(+), 3291 deletions(-)
diff --git a/acid-semantics.html b/acid-semantics.html
index ce5380e7dea..fb743684597 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -709,7 +709,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 0441ec1ce15..9208a2800ff 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
/Author (Apache HBase Team)
/Creator (Asciidoctor PDF 2.0.6, based on Prawn 2.4.0)
/Producer (Apache HBase Team)
-/ModDate (D:20251022143043+00'00')
-/CreationDate (D:20251022144833+00'00')
+/ModDate (D:20251028143052+00'00')
+/CreationDate (D:20251028144834+00'00')
>>
endobj
2 0 obj
diff --git a/apidocs/allclasses-index.html b/apidocs/allclasses-index.html
index 7d942bb410a..6c937ed16e3 100644
--- a/apidocs/allclasses-index.html
+++ b/apidocs/allclasses-index.html
@@ -2305,6 +2305,14 @@ loadScripts(document, 'script');</script>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab3"> </div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1">org.apache.hadoop.hbase.favored.FavoredNodesPromoter</div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2">org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns
+ to achieve stable, full utilization of configured quota allowances while managing client
+ contention.</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2">org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab3">org.apache.hadoop.hbase.hbtop.field.Field</div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">
<div class="block">Represents fields that are displayed in the top screen.</div>
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index 27bacee0ee7..f6fb8cdbbc4 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -9673,6 +9673,8 @@ loadScripts(document, 'script');</script>
<dd>
<div class="block">consume one available unit.</div>
</dd>
+<dt>consume(long) - Method in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd> </dd>
<dt>consume(long) - Method in class org.apache.hadoop.hbase.quotas.RateLimiter</dt>
<dd>
<div class="block">consume amount available units, amount could be a negative number</div>
@@ -10495,6 +10497,8 @@ loadScripts(document, 'script');</script>
<dd>
<div class="block">Create an <code>RefCnt</code> with an initial reference count = 1.</div>
</dd>
+<dt>create() - Method in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</dt>
+<dd> </dd>
<dt>create() - Static method in class org.apache.hadoop.hbase.RawCellBuilderFactory</dt>
<dd>
<div class="block">Returns the cell that is created</div>
@@ -13449,6 +13453,10 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt>DEFAULT_ATTRIBUTES_COLUMN_INDEX - Static variable in class org.apache.hadoop.hbase.mapreduce.ImportTsv.TsvParser</dt>
<dd> </dd>
+<dt>DEFAULT_BACKOFF_MULTIPLIER_DECREMENT - Static variable in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd> </dd>
+<dt>DEFAULT_BACKOFF_MULTIPLIER_INCREMENT - Static variable in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd> </dd>
<dt>DEFAULT_BACKUP_ATTEMPTS_PAUSE_MS - Static variable in interface org.apache.hadoop.hbase.backup.BackupRestoreConstants</dt>
<dd> </dd>
<dt>DEFAULT_BACKUP_MAX_ATTEMPTS - Static variable in interface org.apache.hadoop.hbase.backup.BackupRestoreConstants</dt>
@@ -13878,6 +13886,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt>DEFAULT_MAX_BACKOFF - Static variable in class org.apache.hadoop.hbase.client.backoff.ExponentialClientBackoffPolicy</dt>
<dd> </dd>
+<dt>DEFAULT_MAX_BACKOFF_MULTIPLIER - Static variable in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd> </dd>
<dt>DEFAULT_MAX_BLOCKED_REQUESTS - Static variable in class org.apache.hadoop.hbase.regionserver.BusyRegionSplitPolicy</dt>
<dd> </dd>
<dt>DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER - Static variable in class org.apache.hadoop.hbase.ipc.RpcServer</dt>
@@ -13896,6 +13906,8 @@ loadScripts(document, 'script');</script>
<dd>
<div class="block">Default maximum file size</div>
</dd>
+<dt>DEFAULT_MAX_OVERSUBSCRIPTION - Static variable in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd> </dd>
<dt>DEFAULT_MAX_QUEUED_REQUESTS - Static variable in class org.apache.hadoop.hbase.thrift.TBoundedThreadPoolServer</dt>
<dd> </dd>
<dt>DEFAULT_MAX_REQUEST_SIZE - Static variable in class org.apache.hadoop.hbase.ipc.RpcServer</dt>
@@ -14019,6 +14031,10 @@ loadScripts(document, 'script');</script>
<dd>
<div class="block">Default overall region files</div>
</dd>
+<dt>DEFAULT_OVERSUBSCRIPTION_DECREMENT - Static variable in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd> </dd>
+<dt>DEFAULT_OVERSUBSCRIPTION_INCREMENT - Static variable in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd> </dd>
<dt>DEFAULT_PREFETCH_BLOCKS_ON_OPEN - Static variable in class org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder</dt>
<dd> </dd>
<dt>DEFAULT_PREFETCH_HEAP_USAGE_THRESHOLD - Static variable in class org.apache.hadoop.hbase.io.hfile.CacheConfig</dt>
@@ -14224,6 +14240,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt>DEFAULT_USER_COPROCESSORS_ENABLED - Static variable in class org.apache.hadoop.hbase.coprocessor.CoprocessorHost</dt>
<dd> </dd>
+<dt>DEFAULT_UTILIZATION_ERROR_BUDGET - Static variable in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd> </dd>
<dt>DEFAULT_VALUE_LENGTH - Static variable in class org.apache.hadoop.hbase.PerformanceEvaluation</dt>
<dd> </dd>
<dt>DEFAULT_VERSION_FILE_WRITE_ATTEMPTS - Static variable in class org.apache.hadoop.hbase.HConstants</dt>
@@ -18062,6 +18080,44 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt>org.apache.hadoop.hbase.favored.FavoredNodesPromoter - Interface in <a href="org/apache/hadoop/hbase/favored/package-summary.html">org.apache.hadoop.hbase.favored</a></dt>
<dd> </dd>
+<dt>FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT - Static variable in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd>
+<div class="block">Amount to decrease the backoff multiplier when no contention is detected per refill interval.</div>
+</dd>
+<dt>FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT - Static variable in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd>
+<div class="block">Amount to increase the backoff multiplier when contention is detected per refill interval.</div>
+</dd>
+<dt>FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER - Static variable in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd>
+<div class="block">Maximum ceiling for the backoff multiplier to avoid unbounded waits.</div>
+</dd>
+<dt>FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION - Static variable in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd>
+<div class="block">Maximum ceiling for oversubscription to prevent unbounded bursts.</div>
+</dd>
+<dt>FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT - Static variable in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd>
+<div class="block">Amount to decrease the oversubscription proportion when utilization exceeds (1.0+errorBudget).</div>
+</dd>
+<dt>FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT - Static variable in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd>
+<div class="block">Amount to increase the oversubscription proportion when utilization is below (1.0-errorBudget).</div>
+</dd>
+<dt>FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET - Static variable in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd>
+<div class="block">Acceptable deviation around full utilization (1.0) for adjusting oversubscription.</div>
+</dd>
+<dt>org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
+<dd>
+<div class="block">An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns
+ to achieve stable, full utilization of configured quota allowances while managing client
+ contention.</div>
+</dd>
+<dt>org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
+<dd> </dd>
+<dt>FeedbackAdaptiveRateLimiterFactory(Configuration) - Constructor for class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</dt>
+<dd> </dd>
<dt>fetchEndpoints() - Method in class org.apache.hadoop.hbase.client.MasterRegistry</dt>
<dd>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
@@ -18248,6 +18304,11 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt>fillFamilyRange(Cell, ByteRange) - Static method in class org.apache.hadoop.hbase.PrivateCellUtil</dt>
<dd> </dd>
+<dt>fillInStackTrace() - Method in exception org.apache.hadoop.hbase.quotas.RpcThrottlingException</dt>
+<dd>
+<div class="block">There is little value in an RpcThrottlingException having a stack trace, since its cause is
+ well understood without one.</div>
+</dd>
<dt>fillQualifierRange(Cell, ByteRange) - Static method in class org.apache.hadoop.hbase.PrivateCellUtil</dt>
<dd> </dd>
<dt>fillRegion(HRegion) - Method in interface org.apache.hadoop.hbase.util.ModifyRegionUtils.RegionFillTask</dt>
@@ -28260,6 +28321,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt>getNextRefillTime() - Method in class org.apache.hadoop.hbase.quotas.AverageIntervalRateLimiter</dt>
<dd> </dd>
+<dt>getNextRefillTime() - Method in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd> </dd>
<dt>getNextRefillTime() - Method in class org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter</dt>
<dd> </dd>
<dt>getNextRefillTime() - Method in class org.apache.hadoop.hbase.quotas.RateLimiter</dt>
@@ -35224,6 +35287,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt>getWaitInterval(long, long, long) - Method in class org.apache.hadoop.hbase.quotas.AverageIntervalRateLimiter</dt>
<dd> </dd>
+<dt>getWaitInterval(long, long, long) - Method in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd> </dd>
<dt>getWaitInterval(long, long, long) - Method in class org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter</dt>
<dd> </dd>
<dt>getWaitInterval(R, RegionInfo) - Method in interface org.apache.hadoop.hbase.client.AsyncTable.PartialResultCoprocessorCallback</dt>
@@ -57308,6 +57373,8 @@ service.</div>
<dd> </dd>
<dt>refill(long) - Method in class org.apache.hadoop.hbase.quotas.AverageIntervalRateLimiter</dt>
<dd> </dd>
+<dt>refill(long) - Method in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd> </dd>
<dt>refill(long) - Method in class org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter</dt>
<dd> </dd>
<dt>org.apache.hadoop.hbase.util.ReflectedFunctionCache<I,<wbr>R> - Class in <a href="org/apache/hadoop/hbase/util/package-summary.html">org.apache.hadoop.hbase.util</a></dt>
@@ -64185,6 +64252,8 @@ service.</div>
<dd> </dd>
<dt>setNextRefillTime(long) - Method in class org.apache.hadoop.hbase.quotas.AverageIntervalRateLimiter</dt>
<dd> </dd>
+<dt>setNextRefillTime(long) - Method in class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</dt>
+<dd> </dd>
<dt>setNextRefillTime(long) - Method in class org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter</dt>
<dd> </dd>
<dt>setNextRefillTime(long) - Method in class org.apache.hadoop.hbase.quotas.RateLimiter</dt>
diff --git a/apidocs/member-search-index.js b/apidocs/member-search-index.js
index dcfc915e10c..e9d5e45d871 100644
--- a/apidocs/member-search-index.js
+++ b/apidocs/member-search-index.js
@@ -1 +1 @@
-memberSearchIndex = [{"p":"org.apache.hadoop.hbase.filter","c":"ParseConstants","l":"A"},{"p":"org.apache.hadoop.hbase.master","c":"RegionState.State","l":"ABNORMALLY_CLOSED"},{"p":"org.apache.hadoop.hbase.coprocessor","c":"CoprocessorHost","l":"ABORT_ON_ERROR_KEY"},{"p":"org.apache.hadoop.hdfs","c":"DummyDFSOutputStream","l":"abort()"},{"p":"org.apache.hadoop.hbase","c":"Abortable","l":"abort(String)","u":"abort(java.lang.String)"},{"p":"org.apache.hadoop.hbase","c":"Abortable","l":"abo [...]
\ No newline at end of file
+memberSearchIndex = [{"p":"org.apache.hadoop.hbase.filter","c":"ParseConstants","l":"A"},{"p":"org.apache.hadoop.hbase.master","c":"RegionState.State","l":"ABNORMALLY_CLOSED"},{"p":"org.apache.hadoop.hbase.coprocessor","c":"CoprocessorHost","l":"ABORT_ON_ERROR_KEY"},{"p":"org.apache.hadoop.hdfs","c":"DummyDFSOutputStream","l":"abort()"},{"p":"org.apache.hadoop.hbase","c":"Abortable","l":"abort(String)","u":"abort(java.lang.String)"},{"p":"org.apache.hadoop.hbase","c":"Abortable","l":"abo [...]
\ No newline at end of file
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/class-use/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html b/apidocs/org/apache/hadoop/hbase/quotas/class-use/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html
new file mode 100644
index 00000000000..9c2993d2a60
--- /dev/null
+++ b/apidocs/org/apache/hadoop/hbase/quotas/class-use/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) -->
+<title>Uses of Class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory (Apache HBase 4.0.0-alpha-1-SNAPSHOT API)</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="description" content="use: package: org.apache.hadoop.hbase.quotas, class: FeedbackAdaptiveRateLimiter, class: FeedbackAdaptiveRateLimiterFactory">
+<meta name="generator" content="javadoc/ClassUseWriter">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-use-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../index.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="nav-bar-cell1-rev">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#use">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="Uses of Class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory" class="title">Uses of Class<br>org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</h1>
+</div>
+No usage of org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</main>
+<footer role="contentinfo">
+<hr>
+<p class="legal-copy"><small>Copyright © 2007–2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</footer>
+</div>
+</div>
+</body>
+</html>
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/class-use/RateLimiter.html b/apidocs/org/apache/hadoop/hbase/quotas/class-use/FeedbackAdaptiveRateLimiter.html
similarity index 64%
copy from apidocs/org/apache/hadoop/hbase/quotas/class-use/RateLimiter.html
copy to apidocs/org/apache/hadoop/hbase/quotas/class-use/FeedbackAdaptiveRateLimiter.html
index e9d215a38f0..58e0c0f1712 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/class-use/RateLimiter.html
+++ b/apidocs/org/apache/hadoop/hbase/quotas/class-use/FeedbackAdaptiveRateLimiter.html
@@ -2,10 +2,10 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
-<title>Uses of Class org.apache.hadoop.hbase.quotas.RateLimiter (Apache HBase 4.0.0-alpha-1-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter (Apache HBase 4.0.0-alpha-1-SNAPSHOT API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="use: package: org.apache.hadoop.hbase.quotas, class: RateLimiter">
+<meta name="description" content="use: package: org.apache.hadoop.hbase.quotas, class: FeedbackAdaptiveRateLimiter">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
@@ -49,9 +49,9 @@ loadScripts(document, 'script');</script>
<div class="flex-content">
<main role="main">
<div class="header">
-<h1 title="Uses of Class org.apache.hadoop.hbase.quotas.RateLimiter" class="title">Uses of Class<br>org.apache.hadoop.hbase.quotas.RateLimiter</h1>
+<h1 title="Uses of Class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter" class="title">Uses of Class<br>org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</h1>
</div>
-<div class="caption"><span>Packages that use org.apache.hadoop.hbase.quotas.RateLimiter</span></div>
+<div class="caption"><span>Packages that use org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
@@ -62,33 +62,15 @@ loadScripts(document, 'script');</script>
<ul class="block-list">
<li>
<section class="detail" id="org.apache.hadoop.hbase.quotas">
-<h2>Uses of org.apache.hadoop.hbase.quotas.RateLimiter in <a href="../package-summary.html">org.apache.hadoop.hbase.quotas</a></h2>
-<div class="caption"><span>Subclasses of org.apache.hadoop.hbase.quotas.RateLimiter in in <a href="../package-summary.html">org.apache.hadoop.hbase.quotas</a></span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Class</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>class </code></div>
-<div class="col-second even-row-color"><code>org.apache.hadoop.hbase.quotas.AverageIntervalRateLimiter</code></div>
-<div class="col-last even-row-color">
-<div class="block">This limiter will refill resources at every TimeUnit/resources interval.</div>
-</div>
-<div class="col-first odd-row-color"><code>class </code></div>
-<div class="col-second odd-row-color"><code>org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter</code></div>
-<div class="col-last odd-row-color">
-<div class="block">With this limiter resources will be refilled only after a fixed interval of time.</div>
-</div>
-</div>
-<div class="caption"><span>Methods in <a href="../package-summary.html">org.apache.hadoop.hbase.quotas</a> with parameters of type org.apache.hadoop.hbase.quotas.RateLimiter in in </span></div>
+<h2>Uses of org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter in <a href="../package-summary.html">org.apache.hadoop.hbase.quotas</a></h2>
+<div class="caption"><span>Methods in <a href="../package-summary.html">org.apache.hadoop.hbase.quotas</a> that return org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter in in </span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>void</code></div>
-<div class="col-second even-row-color"><span class="type-name-label">RateLimiter.</span><code>update<wbr>(org.apache.hadoop.hbase.quotas.RateLimiter other)</code></div>
-<div class="col-last even-row-color">
-<div class="block">Sets the current instance of RateLimiter to a new values.</div>
-</div>
+<div class="col-first even-row-color"><code>org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</code></div>
+<div class="col-second even-row-color"><span class="type-name-label">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.</span><code>create()</code></div>
+<div class="col-last even-row-color"> </div>
</div>
</section>
</li>
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/class-use/RateLimiter.html b/apidocs/org/apache/hadoop/hbase/quotas/class-use/RateLimiter.html
index e9d215a38f0..d3468526f52 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/class-use/RateLimiter.html
+++ b/apidocs/org/apache/hadoop/hbase/quotas/class-use/RateLimiter.html
@@ -74,8 +74,15 @@ loadScripts(document, 'script');</script>
<div class="block">This limiter will refill resources at every TimeUnit/resources interval.</div>
</div>
<div class="col-first odd-row-color"><code>class </code></div>
-<div class="col-second odd-row-color"><code>org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter</code></div>
+<div class="col-second odd-row-color"><code>org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</code></div>
<div class="col-last odd-row-color">
+<div class="block">An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns
+ to achieve stable, full utilization of configured quota allowances while managing client
+ contention.</div>
+</div>
+<div class="col-first even-row-color"><code>class </code></div>
+<div class="col-second even-row-color"><code>org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter</code></div>
+<div class="col-last even-row-color">
<div class="block">With this limiter resources will be refilled only after a fixed interval of time.</div>
</div>
</div>
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/package-summary.html b/apidocs/org/apache/hadoop/hbase/quotas/package-summary.html
index 1ae20608340..588ff195bae 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/package-summary.html
+++ b/apidocs/org/apache/hadoop/hbase/quotas/package-summary.html
@@ -99,6 +99,14 @@ loadScripts(document, 'script');</script>
<div class="col-last even-row-color class-summary class-summary-tab2"> </div>
<div class="col-first odd-row-color class-summary class-summary-tab2">org.apache.hadoop.hbase.quotas.ExceedOperationQuota</div>
<div class="col-last odd-row-color class-summary class-summary-tab2"> </div>
+<div class="col-first even-row-color class-summary class-summary-tab2">org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="block">An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns
+ to achieve stable, full utilization of configured quota allowances while managing client
+ contention.</div>
+</div>
+<div class="col-first odd-row-color class-summary class-summary-tab2">org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</div>
+<div class="col-last odd-row-color class-summary class-summary-tab2"> </div>
<div class="col-first even-row-color class-summary class-summary-tab1">org.apache.hadoop.hbase.quotas.FileArchiverNotifier</div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Interface allowing various implementations of tracking files that have recently been archived to
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/apidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index 121c800f8b6..e4261327fcb 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/apidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -66,6 +66,7 @@ loadScripts(document, 'script');</script>
<li class="circle">org.apache.hadoop.hbase.quotas.ExceedOperationQuota</li>
</ul>
</li>
+<li class="circle">org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</li>
<li class="circle">org.apache.hadoop.hbase.quotas.FileArchiverNotifierFactoryImpl (implements org.apache.hadoop.hbase.quotas.FileArchiverNotifierFactory)</li>
<li class="circle">org.apache.hadoop.hbase.quotas.FileArchiverNotifierImpl (implements org.apache.hadoop.hbase.quotas.FileArchiverNotifier)</li>
<li class="circle">org.apache.hadoop.hbase.quotas.MasterQuotaManager (implements org.apache.hadoop.hbase.RegionStateListener)</li>
@@ -100,6 +101,7 @@ loadScripts(document, 'script');</script>
<li class="circle">org.apache.hadoop.hbase.quotas.RateLimiter
<ul>
<li class="circle">org.apache.hadoop.hbase.quotas.AverageIntervalRateLimiter</li>
+<li class="circle">org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</li>
<li class="circle">org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter</li>
</ul>
</li>
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/package-use.html b/apidocs/org/apache/hadoop/hbase/quotas/package-use.html
index 0978ef8184b..595af546956 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/package-use.html
+++ b/apidocs/org/apache/hadoop/hbase/quotas/package-use.html
@@ -191,171 +191,177 @@ loadScripts(document, 'script');</script>
</div>
<div class="col-first odd-row-color"><a href="class-use/DefaultOperationQuota.html#org.apache.hadoop.hbase.quotas">DefaultOperationQuota</a></div>
<div class="col-last odd-row-color"> </div>
-<div class="col-first even-row-color"><a href="class-use/FileArchiverNotifier.html#org.apache.hadoop.hbase.quotas">FileArchiverNotifier</a></div>
+<div class="col-first even-row-color"><a href="class-use/FeedbackAdaptiveRateLimiter.html#org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></div>
<div class="col-last even-row-color">
+<div class="block">An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns
+ to achieve stable, full utilization of configured quota allowances while managing client
+ contention.</div>
+</div>
+<div class="col-first odd-row-color"><a href="class-use/FileArchiverNotifier.html#org.apache.hadoop.hbase.quotas">FileArchiverNotifier</a></div>
+<div class="col-last odd-row-color">
<div class="block">Interface allowing various implementations of tracking files that have recently been archived to
allow for the Master to notice changes to snapshot sizes for space quotas.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/FileArchiverNotifierFactory.html#org.apache.hadoop.hbase.quotas">FileArchiverNotifierFactory</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/FileArchiverNotifierFactory.html#org.apache.hadoop.hbase.quotas">FileArchiverNotifierFactory</a></div>
+<div class="col-last even-row-color">
<div class="block">Factory class to create <code>FileArchiverNotifier</code> instances.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/GlobalQuotaSettings.html#org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/GlobalQuotaSettings.html#org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></div>
+<div class="col-last odd-row-color">
<div class="block">An object which captures all quotas types (throttle or space) for a subject (user, table, or
namespace).</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/GlobalQuotaSettingsImpl.html#org.apache.hadoop.hbase.quotas">GlobalQuotaSettingsImpl</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/GlobalQuotaSettingsImpl.html#org.apache.hadoop.hbase.quotas">GlobalQuotaSettingsImpl</a></div>
+<div class="col-last even-row-color">
<div class="block">Implementation of <code>GlobalQuotaSettings</code> to hide the Protobuf messages we use internally.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/NoOpRegionSizeStore.html#org.apache.hadoop.hbase.quotas">NoOpRegionSizeStore</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/NoOpRegionSizeStore.html#org.apache.hadoop.hbase.quotas">NoOpRegionSizeStore</a></div>
+<div class="col-last odd-row-color">
<div class="block">A <code>RegionSizeStore</code> implementation that stores nothing.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/OperationQuota.html#org.apache.hadoop.hbase.quotas">OperationQuota</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/OperationQuota.html#org.apache.hadoop.hbase.quotas">OperationQuota</a></div>
+<div class="col-last even-row-color">
<div class="block">Interface that allows to check the quota available for an operation.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/OperationQuota.OperationType.html#org.apache.hadoop.hbase.quotas">OperationQuota.OperationType</a></div>
-<div class="col-last even-row-color"> </div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaExceededException.html#org.apache.hadoop.hbase.quotas">QuotaExceededException</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first odd-row-color"><a href="class-use/OperationQuota.OperationType.html#org.apache.hadoop.hbase.quotas">OperationQuota.OperationType</a></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><a href="class-use/QuotaExceededException.html#org.apache.hadoop.hbase.quotas">QuotaExceededException</a></div>
+<div class="col-last even-row-color">
<div class="block">Generic quota exceeded exception</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/QuotaFilter.html#org.apache.hadoop.hbase.quotas">QuotaFilter</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/QuotaFilter.html#org.apache.hadoop.hbase.quotas">QuotaFilter</a></div>
+<div class="col-last odd-row-color">
<div class="block">Filter to use to filter the QuotaRetriever results.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaLimiter.html#org.apache.hadoop.hbase.quotas">QuotaLimiter</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/QuotaLimiter.html#org.apache.hadoop.hbase.quotas">QuotaLimiter</a></div>
+<div class="col-last even-row-color">
<div class="block">Internal interface used to interact with the user/table quota.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/QuotaObserverChore.html#org.apache.hadoop.hbase.quotas">QuotaObserverChore</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/QuotaObserverChore.html#org.apache.hadoop.hbase.quotas">QuotaObserverChore</a></div>
+<div class="col-last odd-row-color">
<div class="block">Reads the currently received Region filesystem-space use reports and acts on those which violate
a defined quota.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaRetriever.html#org.apache.hadoop.hbase.quotas">QuotaRetriever</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/QuotaRetriever.html#org.apache.hadoop.hbase.quotas">QuotaRetriever</a></div>
+<div class="col-last even-row-color">
<div class="block">Scanner to iterate over the quota settings.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/QuotaScope.html#org.apache.hadoop.hbase.quotas">QuotaScope</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/QuotaScope.html#org.apache.hadoop.hbase.quotas">QuotaScope</a></div>
+<div class="col-last odd-row-color">
<div class="block">Describe the Scope of the quota rules.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaSettings.html#org.apache.hadoop.hbase.quotas">QuotaSettings</a></div>
-<div class="col-last odd-row-color"> </div>
-<div class="col-first even-row-color"><a href="class-use/QuotaSnapshotStore.html#org.apache.hadoop.hbase.quotas">QuotaSnapshotStore</a></div>
-<div class="col-last even-row-color">
+<div class="col-first even-row-color"><a href="class-use/QuotaSettings.html#org.apache.hadoop.hbase.quotas">QuotaSettings</a></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><a href="class-use/QuotaSnapshotStore.html#org.apache.hadoop.hbase.quotas">QuotaSnapshotStore</a></div>
+<div class="col-last odd-row-color">
<div class="block">A common interface for computing and storing space quota observance/violation for entities.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaState.html#org.apache.hadoop.hbase.quotas">QuotaState</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/QuotaState.html#org.apache.hadoop.hbase.quotas">QuotaState</a></div>
+<div class="col-last even-row-color">
<div class="block">In-Memory state of table or namespace quotas</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/QuotaTableUtil.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/QuotaTableUtil.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></div>
+<div class="col-last odd-row-color">
<div class="block">Helper class to interact with the quota table.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaTableUtil.NamespaceQuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.NamespaceQuotasVisitor</a></div>
-<div class="col-last odd-row-color"> </div>
-<div class="col-first even-row-color"><a href="class-use/QuotaTableUtil.QuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.QuotasVisitor</a></div>
+<div class="col-first even-row-color"><a href="class-use/QuotaTableUtil.NamespaceQuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.NamespaceQuotasVisitor</a></div>
<div class="col-last even-row-color"> </div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaTableUtil.TableQuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.TableQuotasVisitor</a></div>
+<div class="col-first odd-row-color"><a href="class-use/QuotaTableUtil.QuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.QuotasVisitor</a></div>
<div class="col-last odd-row-color"> </div>
-<div class="col-first even-row-color"><a href="class-use/QuotaTableUtil.UserQuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.UserQuotasVisitor</a></div>
+<div class="col-first even-row-color"><a href="class-use/QuotaTableUtil.TableQuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.TableQuotasVisitor</a></div>
<div class="col-last even-row-color"> </div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaType.html#org.apache.hadoop.hbase.quotas">QuotaType</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first odd-row-color"><a href="class-use/QuotaTableUtil.UserQuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.UserQuotasVisitor</a></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><a href="class-use/QuotaType.html#org.apache.hadoop.hbase.quotas">QuotaType</a></div>
+<div class="col-last even-row-color">
<div class="block">Describe the Quota Type.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/RateLimiter.html#org.apache.hadoop.hbase.quotas">RateLimiter</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/RateLimiter.html#org.apache.hadoop.hbase.quotas">RateLimiter</a></div>
+<div class="col-last odd-row-color">
<div class="block">Simple rate limiter.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/RegionServerSpaceQuotaManager.html#org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/RegionServerSpaceQuotaManager.html#org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a></div>
+<div class="col-last even-row-color">
<div class="block">A manager for filesystem space quotas in the RegionServer.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/RegionSize.html#org.apache.hadoop.hbase.quotas">RegionSize</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/RegionSize.html#org.apache.hadoop.hbase.quotas">RegionSize</a></div>
+<div class="col-last odd-row-color">
<div class="block">Interface that encapsulates optionally sending a Region's size to the master.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/RegionSizeImpl.html#org.apache.hadoop.hbase.quotas">RegionSizeImpl</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/RegionSizeImpl.html#org.apache.hadoop.hbase.quotas">RegionSizeImpl</a></div>
+<div class="col-last even-row-color">
<div class="block">An object encapsulating a Region's size and whether it's been reported to the master since the
value last changed.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/RegionSizeStore.html#org.apache.hadoop.hbase.quotas">RegionSizeStore</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/RegionSizeStore.html#org.apache.hadoop.hbase.quotas">RegionSizeStore</a></div>
+<div class="col-last odd-row-color">
<div class="block">An interface for concurrently storing and updating the size of a Region.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/RegionSizeStoreFactory.html#org.apache.hadoop.hbase.quotas">RegionSizeStoreFactory</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/RegionSizeStoreFactory.html#org.apache.hadoop.hbase.quotas">RegionSizeStoreFactory</a></div>
+<div class="col-last even-row-color">
<div class="block">A factory class for creating implementations of <code>RegionSizeStore</code>.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/RpcQuotaManager.html#org.apache.hadoop.hbase.quotas">RpcQuotaManager</a></div>
-<div class="col-last even-row-color"> </div>
-<div class="col-first odd-row-color"><a href="class-use/RpcThrottlingException.html#org.apache.hadoop.hbase.quotas">RpcThrottlingException</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first odd-row-color"><a href="class-use/RpcQuotaManager.html#org.apache.hadoop.hbase.quotas">RpcQuotaManager</a></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><a href="class-use/RpcThrottlingException.html#org.apache.hadoop.hbase.quotas">RpcThrottlingException</a></div>
+<div class="col-last even-row-color">
<div class="block">Describe the throttling result.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/RpcThrottlingException.Type.html#org.apache.hadoop.hbase.quotas">RpcThrottlingException.Type</a></div>
-<div class="col-last even-row-color"> </div>
-<div class="col-first odd-row-color"><a href="class-use/SpaceLimitingException.html#org.apache.hadoop.hbase.quotas">SpaceLimitingException</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first odd-row-color"><a href="class-use/RpcThrottlingException.Type.html#org.apache.hadoop.hbase.quotas">RpcThrottlingException.Type</a></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><a href="class-use/SpaceLimitingException.html#org.apache.hadoop.hbase.quotas">SpaceLimitingException</a></div>
+<div class="col-last even-row-color">
<div class="block">An Exception that is thrown when a space quota is in violation.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/SpaceQuotaSnapshot.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/SpaceQuotaSnapshot.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a></div>
+<div class="col-last odd-row-color">
<div class="block">A point-in-time view of a space quota on a table.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/SpaceQuotaSnapshot.SpaceQuotaStatus.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot.SpaceQuotaStatus</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/SpaceQuotaSnapshot.SpaceQuotaStatus.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot.SpaceQuotaStatus</a></div>
+<div class="col-last even-row-color">
<div class="block">Encapsulates the state of a quota on a table.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/SpaceQuotaSnapshotNotifier.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/SpaceQuotaSnapshotNotifier.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a></div>
+<div class="col-last odd-row-color">
<div class="block">An interface which abstract away the action taken to enable or disable a space quota violation
policy across the HBase cluster.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/SpaceQuotaSnapshotNotifierFactory.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifierFactory</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/SpaceQuotaSnapshotNotifierFactory.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifierFactory</a></div>
+<div class="col-last even-row-color">
<div class="block">Factory for creating <code>SpaceQuotaSnapshotNotifier</code> implementations.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/SpaceQuotaSnapshotView.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/SpaceQuotaSnapshotView.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView</a></div>
+<div class="col-last odd-row-color">
<div class="block">A point-in-time view of a space quota on a table, read only.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/SpaceQuotaSnapshotView.SpaceQuotaStatusView.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView.SpaceQuotaStatusView</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/SpaceQuotaSnapshotView.SpaceQuotaStatusView.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView.SpaceQuotaStatusView</a></div>
+<div class="col-last even-row-color">
<div class="block">Encapsulates the state of a quota on a table.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/SpaceViolationPolicy.html#org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/SpaceViolationPolicy.html#org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a></div>
+<div class="col-last odd-row-color">
<div class="block">Enumeration that represents the action HBase will take when a space quota is violated.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/SpaceViolationPolicyEnforcement.html#org.apache.hadoop.hbase.quotas">SpaceViolationPolicyEnforcement</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/SpaceViolationPolicyEnforcement.html#org.apache.hadoop.hbase.quotas">SpaceViolationPolicyEnforcement</a></div>
+<div class="col-last even-row-color">
<div class="block">RegionServer implementation of <code>SpaceViolationPolicy</code>.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/SpaceViolationPolicyEnforcementFactory.html#org.apache.hadoop.hbase.quotas">SpaceViolationPolicyEnforcementFactory</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/SpaceViolationPolicyEnforcementFactory.html#org.apache.hadoop.hbase.quotas">SpaceViolationPolicyEnforcementFactory</a></div>
+<div class="col-last odd-row-color">
<div class="block">A factory class for instantiating <code>SpaceViolationPolicyEnforcement</code> instances.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/ThrottleSettings.html#org.apache.hadoop.hbase.quotas">ThrottleSettings</a></div>
-<div class="col-last odd-row-color"> </div>
-<div class="col-first even-row-color"><a href="class-use/ThrottleType.html#org.apache.hadoop.hbase.quotas">ThrottleType</a></div>
-<div class="col-last even-row-color">
+<div class="col-first even-row-color"><a href="class-use/ThrottleSettings.html#org.apache.hadoop.hbase.quotas">ThrottleSettings</a></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><a href="class-use/ThrottleType.html#org.apache.hadoop.hbase.quotas">ThrottleType</a></div>
+<div class="col-last odd-row-color">
<div class="block">Describe the Throttle Type.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/TimeBasedLimiter.html#org.apache.hadoop.hbase.quotas">TimeBasedLimiter</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/TimeBasedLimiter.html#org.apache.hadoop.hbase.quotas">TimeBasedLimiter</a></div>
+<div class="col-last even-row-color">
<div class="block">Simple time based limiter that checks the quota Throttle</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/UserQuotaState.html#org.apache.hadoop.hbase.quotas">UserQuotaState</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/UserQuotaState.html#org.apache.hadoop.hbase.quotas">UserQuotaState</a></div>
+<div class="col-last odd-row-color">
<div class="block">In-Memory state of the user quotas</div>
</div>
</div>
diff --git a/apidocs/overview-tree.html b/apidocs/overview-tree.html
index c5212b0bbdd..e473cc84fba 100644
--- a/apidocs/overview-tree.html
+++ b/apidocs/overview-tree.html
@@ -972,6 +972,7 @@ loadScripts(document, 'script');</script>
<li class="circle">org.apache.hadoop.hbase.favored.FavoredNodeAssignmentHelper</li>
<li class="circle">org.apache.hadoop.hbase.favored.FavoredNodesManager</li>
<li class="circle">org.apache.hadoop.hbase.favored.FavoredNodesPlan</li>
+<li class="circle">org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</li>
<li class="circle">org.apache.hadoop.hbase.hbtop.field.FieldInfo</li>
<li class="circle">org.apache.hadoop.hbase.hbtop.screen.field.FieldScreenPresenter</li>
<li class="circle">org.apache.hadoop.hbase.hbtop.field.FieldValue (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a><T>)</li>
@@ -1875,6 +1876,7 @@ loadScripts(document, 'script');</script>
<li class="circle">org.apache.hadoop.hbase.quotas.RateLimiter
<ul>
<li class="circle">org.apache.hadoop.hbase.quotas.AverageIntervalRateLimiter</li>
+<li class="circle">org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</li>
<li class="circle">org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter</li>
</ul>
</li>
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html b/apidocs/src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html
new file mode 100644
index 00000000000..5f853663197
--- /dev/null
+++ b/apidocs/src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html
@@ -0,0 +1,439 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) -->
+<title>Source code</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="description" content="source: package: org.apache.hadoop.hbase.quotas, class: FeedbackAdaptiveRateLimiter, class: FeedbackAdaptiveRateLimiterFactory">
+<meta name="generator" content="javadoc/SourceToHTMLConverter">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body class="source-page">
+<main role="main">
+<div class="source-container">
+<pre><span class="source-line-no">001</span><span id="line-1">/*</span>
+<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="source-line-no">003</span><span id="line-3"> * or more contributor license agreements. See the NOTICE file</span>
+<span class="source-line-no">004</span><span id="line-4"> * distributed with this work for additional information</span>
+<span class="source-line-no">005</span><span id="line-5"> * regarding copyright ownership. The ASF licenses this file</span>
+<span class="source-line-no">006</span><span id="line-6"> * to you under the Apache License, Version 2.0 (the</span>
+<span class="source-line-no">007</span><span id="line-7"> * "License"); you may not use this file except in compliance</span>
+<span class="source-line-no">008</span><span id="line-8"> * with the License. You may obtain a copy of the License at</span>
+<span class="source-line-no">009</span><span id="line-9"> *</span>
+<span class="source-line-no">010</span><span id="line-10"> * http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="source-line-no">011</span><span id="line-11"> *</span>
+<span class="source-line-no">012</span><span id="line-12"> * Unless required by applicable law or agreed to in writing, software</span>
+<span class="source-line-no">013</span><span id="line-13"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
+<span class="source-line-no">014</span><span id="line-14"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="source-line-no">015</span><span id="line-15"> * See the License for the specific language governing permissions and</span>
+<span class="source-line-no">016</span><span id="line-16"> * limitations under the License.</span>
+<span class="source-line-no">017</span><span id="line-17"> */</span>
+<span class="source-line-no">018</span><span id="line-18">package org.apache.hadoop.hbase.quotas;</span>
+<span class="source-line-no">019</span><span id="line-19"></span>
+<span class="source-line-no">020</span><span id="line-20">import java.util.concurrent.atomic.AtomicLong;</span>
+<span class="source-line-no">021</span><span id="line-21">import org.apache.hadoop.conf.Configuration;</span>
+<span class="source-line-no">022</span><span id="line-22">import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;</span>
+<span class="source-line-no">023</span><span id="line-23">import org.apache.yetus.audience.InterfaceAudience;</span>
+<span class="source-line-no">024</span><span id="line-24">import org.apache.yetus.audience.InterfaceStability;</span>
+<span class="source-line-no">025</span><span id="line-25"></span>
+<span class="source-line-no">026</span><span id="line-26">import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;</span>
+<span class="source-line-no">027</span><span id="line-27">import org.apache.hbase.thirdparty.com.google.common.util.concurrent.AtomicDouble;</span>
+<span class="source-line-no">028</span><span id="line-28"></span>
+<span class="source-line-no">029</span><span id="line-29">/**</span>
+<span class="source-line-no">030</span><span id="line-30"> * An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns</span>
+<span class="source-line-no">031</span><span id="line-31"> * to achieve stable, full utilization of configured quota allowances while managing client</span>
+<span class="source-line-no">032</span><span id="line-32"> * contention.</span>
+<span class="source-line-no">033</span><span id="line-33"> * <p></span>
+<span class="source-line-no">034</span><span id="line-34"> * <b>Core Algorithm:</b> This rate limiter divides time into fixed refill intervals (configurable</span>
+<span class="source-line-no">035</span><span id="line-35"> * via {@code hbase.quota.rate.limiter.refill.interval.ms}, default is 1 refill per TimeUnit of the</span>
+<span class="source-line-no">036</span><span id="line-36"> * RateLimiter). At the beginning of each interval, a fresh allocation of resources becomes</span>
+<span class="source-line-no">037</span><span id="line-37"> * available based on the configured limit. Clients consume resources as they make requests. When</span>
+<span class="source-line-no">038</span><span id="line-38"> * resources are exhausted, clients must wait until the next refill, or until enough resources</span>
+<span class="source-line-no">039</span><span id="line-39"> * become available.</span>
+<span class="source-line-no">040</span><span id="line-40"> * <p></span>
+<span class="source-line-no">041</span><span id="line-41"> * <b>Adaptive Backpressure:</b> When multiple threads compete for limited resources (contention),</span>
+<span class="source-line-no">042</span><span id="line-42"> * this limiter detects the contention and applies increasing backpressure by extending wait</span>
+<span class="source-line-no">043</span><span id="line-43"> * intervals. This prevents thundering herd behavior where many threads wake simultaneously and</span>
+<span class="source-line-no">044</span><span id="line-44"> * compete for the same resources. The backoff multiplier increases by a small increment (see</span>
+<span class="source-line-no">045</span><span id="line-45"> * {@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT}) per interval when contention occurs, and</span>
+<span class="source-line-no">046</span><span id="line-46"> * decreases (see {@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT}) when no contention is</span>
+<span class="source-line-no">047</span><span id="line-47"> * detected, converging toward optimal throughput. The multiplier is capped at a maximum value (see</span>
+<span class="source-line-no">048</span><span id="line-48"> * {@link #FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER}) to prevent unbounded waits.</span>
+<span class="source-line-no">049</span><span id="line-49"> * <p></span>
+<span class="source-line-no">050</span><span id="line-50"> * Contention is detected when {@link #getWaitInterval} is called with insufficient available</span>
+<span class="source-line-no">051</span><span id="line-51"> * resources (i.e., {@code amount > available}), indicating a thread needs to wait for resources. If</span>
+<span class="source-line-no">052</span><span id="line-52"> * this occurs more than once in a refill interval, the limiter identifies it as contention</span>
+<span class="source-line-no">053</span><span id="line-53"> * requiring increased backpressure.</span>
+<span class="source-line-no">054</span><span id="line-54"> * <p></span>
+<span class="source-line-no">055</span><span id="line-55"> * <b>Oversubscription for Full Utilization:</b> In practice, synchronization overhead and timing</span>
+<span class="source-line-no">056</span><span id="line-56"> * variations often prevent clients from consuming exactly their full allowance, resulting in</span>
+<span class="source-line-no">057</span><span id="line-57"> * consistent under-utilization. This limiter addresses this by tracking utilization via an</span>
+<span class="source-line-no">058</span><span id="line-58"> * exponentially weighted moving average (EWMA). When average utilization falls below the target</span>
+<span class="source-line-no">059</span><span id="line-59"> * range (determined by {@link #FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET}), the limiter gradually</span>
+<span class="source-line-no">060</span><span id="line-60"> * increases the oversubscription proportion (see</span>
+<span class="source-line-no">061</span><span id="line-61"> * {@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT}), allowing more resources per interval than</span>
+<span class="source-line-no">062</span><span id="line-62"> * the base limit. Conversely, when utilization exceeds the target range, oversubscription is</span>
+<span class="source-line-no">063</span><span id="line-63"> * decreased (see {@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT}). Oversubscription is capped</span>
+<span class="source-line-no">064</span><span id="line-64"> * (see {@link #FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION}) to prevent excessive bursts while still</span>
+<span class="source-line-no">065</span><span id="line-65"> * enabling consistent full utilization.</span>
+<span class="source-line-no">066</span><span id="line-66"> * <p></span>
+<span class="source-line-no">067</span><span id="line-67"> * <b>Example Scenario:</b> Consider a quota of 1000 requests per second with a 1-second refill</span>
+<span class="source-line-no">068</span><span id="line-68"> * interval. Without oversubscription, clients might typically achieve only 950 req/s due to</span>
+<span class="source-line-no">069</span><span id="line-69"> * coordination delays. This limiter would detect the under-utilization, gradually increase</span>
+<span class="source-line-no">070</span><span id="line-70"> * oversubscription, allowing slightly more resources per interval, which compensates for</span>
+<span class="source-line-no">071</span><span id="line-71"> * inefficiencies and achieves stable throughput closer to the configured quota. If multiple threads</span>
+<span class="source-line-no">072</span><span id="line-72"> * simultaneously try to consume resources and repeatedly wait, the backoff multiplier increases</span>
+<span class="source-line-no">073</span><span id="line-73"> * their wait times, spreading out their retry attempts and reducing wasted CPU cycles.</span>
+<span class="source-line-no">074</span><span id="line-74"> * <p></span>
+<span class="source-line-no">075</span><span id="line-75"> * <b>Configuration Parameters:</b></span>
+<span class="source-line-no">076</span><span id="line-76"> * <ul></span>
+<span class="source-line-no">077</span><span id="line-77"> * <li>{@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT}: Controls rate of backpressure</span>
+<span class="source-line-no">078</span><span id="line-78"> * increase</li></span>
+<span class="source-line-no">079</span><span id="line-79"> * <li>{@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT}: Controls rate of backpressure</span>
+<span class="source-line-no">080</span><span id="line-80"> * decrease</li></span>
+<span class="source-line-no">081</span><span id="line-81"> * <li>{@link #FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER}: Caps the maximum wait time extension</li></span>
+<span class="source-line-no">082</span><span id="line-82"> * <li>{@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT}: Controls rate of oversubscription</span>
+<span class="source-line-no">083</span><span id="line-83"> * increase</li></span>
+<span class="source-line-no">084</span><span id="line-84"> * <li>{@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT}: Controls rate of oversubscription</span>
+<span class="source-line-no">085</span><span id="line-85"> * decrease</li></span>
+<span class="source-line-no">086</span><span id="line-86"> * <li>{@link #FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION}: Caps the maximum burst capacity</li></span>
+<span class="source-line-no">087</span><span id="line-87"> * <li>{@link #FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET}: Defines the acceptable range around full</span>
+<span class="source-line-no">088</span><span id="line-88"> * utilization</li></span>
+<span class="source-line-no">089</span><span id="line-89"> * </ul></span>
+<span class="source-line-no">090</span><span id="line-90"> * <p></span>
+<span class="source-line-no">091</span><span id="line-91"> * This algorithm converges toward stable operation where: (1) wait intervals are just long enough</span>
+<span class="source-line-no">092</span><span id="line-92"> * to prevent excessive contention, and (2) oversubscription is just high enough to achieve</span>
+<span class="source-line-no">093</span><span id="line-93"> * consistent full utilization of the configured allowance.</span>
+<span class="source-line-no">094</span><span id="line-94"> */</span>
+<span class="source-line-no">095</span><span id="line-95">@InterfaceAudience.Private</span>
+<span class="source-line-no">096</span><span id="line-96">@InterfaceStability.Evolving</span>
+<span class="source-line-no">097</span><span id="line-97">public class FeedbackAdaptiveRateLimiter extends RateLimiter {</span>
+<span class="source-line-no">098</span><span id="line-98"></span>
+<span class="source-line-no">099</span><span id="line-99"> /**</span>
+<span class="source-line-no">100</span><span id="line-100"> * Amount to increase the backoff multiplier when contention is detected per refill interval. In</span>
+<span class="source-line-no">101</span><span id="line-101"> * other words, if we are throttling more than once per refill interval, then we will increase our</span>
+<span class="source-line-no">102</span><span id="line-102"> * wait intervals (increase backpressure, decrease throughput).</span>
+<span class="source-line-no">103</span><span id="line-103"> */</span>
+<span class="source-line-no">104</span><span id="line-104"> public static final String FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT =</span>
+<span class="source-line-no">105</span><span id="line-105"> "hbase.quota.rate.limiter.feedback.adaptive.backoff.multiplier.increment";</span>
+<span class="source-line-no">106</span><span id="line-106"> public static final double DEFAULT_BACKOFF_MULTIPLIER_INCREMENT = 0.0005;</span>
+<span class="source-line-no">107</span><span id="line-107"></span>
+<span class="source-line-no">108</span><span id="line-108"> /**</span>
+<span class="source-line-no">109</span><span id="line-109"> * Amount to decrease the backoff multiplier when no contention is detected per refill interval.</span>
+<span class="source-line-no">110</span><span id="line-110"> * In other words, if we are only throttling once per refill interval, then we will decrease our</span>
+<span class="source-line-no">111</span><span id="line-111"> * wait interval (decrease backpressure, increase throughput).</span>
+<span class="source-line-no">112</span><span id="line-112"> */</span>
+<span class="source-line-no">113</span><span id="line-113"> public static final String FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT =</span>
+<span class="source-line-no">114</span><span id="line-114"> "hbase.quota.rate.limiter.feedback.adaptive.backoff.multiplier.decrement";</span>
+<span class="source-line-no">115</span><span id="line-115"> public static final double DEFAULT_BACKOFF_MULTIPLIER_DECREMENT = 0.0001;</span>
+<span class="source-line-no">116</span><span id="line-116"></span>
+<span class="source-line-no">117</span><span id="line-117"> /**</span>
+<span class="source-line-no">118</span><span id="line-118"> * Maximum ceiling for the backoff multiplier to avoid unbounded waits.</span>
+<span class="source-line-no">119</span><span id="line-119"> */</span>
+<span class="source-line-no">120</span><span id="line-120"> public static final String FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER =</span>
+<span class="source-line-no">121</span><span id="line-121"> "hbase.quota.rate.limiter.feedback.adaptive.max.backoff.multiplier";</span>
+<span class="source-line-no">122</span><span id="line-122"> public static final double DEFAULT_MAX_BACKOFF_MULTIPLIER = 10.0;</span>
+<span class="source-line-no">123</span><span id="line-123"></span>
+<span class="source-line-no">124</span><span id="line-124"> /**</span>
+<span class="source-line-no">125</span><span id="line-125"> * Amount to increase the oversubscription proportion when utilization is below (1.0-errorBudget).</span>
+<span class="source-line-no">126</span><span id="line-126"> */</span>
+<span class="source-line-no">127</span><span id="line-127"> public static final String FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT =</span>
+<span class="source-line-no">128</span><span id="line-128"> "hbase.quota.rate.limiter.feedback.adaptive.oversubscription.increment";</span>
+<span class="source-line-no">129</span><span id="line-129"> public static final double DEFAULT_OVERSUBSCRIPTION_INCREMENT = 0.001;</span>
+<span class="source-line-no">130</span><span id="line-130"></span>
+<span class="source-line-no">131</span><span id="line-131"> /**</span>
+<span class="source-line-no">132</span><span id="line-132"> * Amount to decrease the oversubscription proportion when utilization exceeds (1.0+errorBudget).</span>
+<span class="source-line-no">133</span><span id="line-133"> */</span>
+<span class="source-line-no">134</span><span id="line-134"> public static final String FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT =</span>
+<span class="source-line-no">135</span><span id="line-135"> "hbase.quota.rate.limiter.feedback.adaptive.oversubscription.decrement";</span>
+<span class="source-line-no">136</span><span id="line-136"> public static final double DEFAULT_OVERSUBSCRIPTION_DECREMENT = 0.00005;</span>
+<span class="source-line-no">137</span><span id="line-137"></span>
+<span class="source-line-no">138</span><span id="line-138"> /**</span>
+<span class="source-line-no">139</span><span id="line-139"> * Maximum ceiling for oversubscription to prevent unbounded bursts. Some oversubscription can be</span>
+<span class="source-line-no">140</span><span id="line-140"> * nice, because it allows you to balance the inefficiency and latency of retries, landing on</span>
+<span class="source-line-no">141</span><span id="line-141"> * stable usage at approximately your configured allowance. Without adequate oversubscription,</span>
+<span class="source-line-no">142</span><span id="line-142"> * your steady state may often seem significantly, and suspiciously, lower than your configured</span>
+<span class="source-line-no">143</span><span id="line-143"> * allowance.</span>
+<span class="source-line-no">144</span><span id="line-144"> */</span>
+<span class="source-line-no">145</span><span id="line-145"> public static final String FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION =</span>
+<span class="source-line-no">146</span><span id="line-146"> "hbase.quota.rate.limiter.feedback.adaptive.max.oversubscription";</span>
+<span class="source-line-no">147</span><span id="line-147"> public static final double DEFAULT_MAX_OVERSUBSCRIPTION = 0.25;</span>
+<span class="source-line-no">148</span><span id="line-148"></span>
+<span class="source-line-no">149</span><span id="line-149"> /**</span>
+<span class="source-line-no">150</span><span id="line-150"> * Acceptable deviation around full utilization (1.0) for adjusting oversubscription. If stable</span>
+<span class="source-line-no">151</span><span id="line-151"> * throttle usage is typically under (1.0-errorBudget), then we will allow more oversubscription.</span>
+<span class="source-line-no">152</span><span id="line-152"> * If stable throttle usage is typically over (1.0+errorBudget), then we will pull back</span>
+<span class="source-line-no">153</span><span id="line-153"> * oversubscription.</span>
+<span class="source-line-no">154</span><span id="line-154"> */</span>
+<span class="source-line-no">155</span><span id="line-155"> public static final String FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET =</span>
+<span class="source-line-no">156</span><span id="line-156"> "hbase.quota.rate.limiter.feedback.adaptive.utilization.error.budget";</span>
+<span class="source-line-no">157</span><span id="line-157"> public static final double DEFAULT_UTILIZATION_ERROR_BUDGET = 0.025;</span>
+<span class="source-line-no">158</span><span id="line-158"></span>
+<span class="source-line-no">159</span><span id="line-159"> private static final int WINDOW_TIME_MS = 60_000;</span>
+<span class="source-line-no">160</span><span id="line-160"></span>
+<span class="source-line-no">161</span><span id="line-161"> public static class FeedbackAdaptiveRateLimiterFactory {</span>
+<span class="source-line-no">162</span><span id="line-162"></span>
+<span class="source-line-no">163</span><span id="line-163"> private final long refillInterval;</span>
+<span class="source-line-no">164</span><span id="line-164"> private final double backoffMultiplierIncrement;</span>
+<span class="source-line-no">165</span><span id="line-165"> private final double backoffMultiplierDecrement;</span>
+<span class="source-line-no">166</span><span id="line-166"> private final double maxBackoffMultiplier;</span>
+<span class="source-line-no">167</span><span id="line-167"> private final double oversubscriptionIncrement;</span>
+<span class="source-line-no">168</span><span id="line-168"> private final double oversubscriptionDecrement;</span>
+<span class="source-line-no">169</span><span id="line-169"> private final double maxOversubscription;</span>
+<span class="source-line-no">170</span><span id="line-170"> private final double utilizationErrorBudget;</span>
+<span class="source-line-no">171</span><span id="line-171"></span>
+<span class="source-line-no">172</span><span id="line-172"> public FeedbackAdaptiveRateLimiterFactory(Configuration conf) {</span>
+<span class="source-line-no">173</span><span id="line-173"> refillInterval = conf.getLong(FixedIntervalRateLimiter.RATE_LIMITER_REFILL_INTERVAL_MS,</span>
+<span class="source-line-no">174</span><span id="line-174"> RateLimiter.DEFAULT_TIME_UNIT);</span>
+<span class="source-line-no">175</span><span id="line-175"></span>
+<span class="source-line-no">176</span><span id="line-176"> maxBackoffMultiplier =</span>
+<span class="source-line-no">177</span><span id="line-177"> conf.getDouble(FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER, DEFAULT_MAX_BACKOFF_MULTIPLIER);</span>
+<span class="source-line-no">178</span><span id="line-178"></span>
+<span class="source-line-no">179</span><span id="line-179"> backoffMultiplierIncrement = conf.getDouble(FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT,</span>
+<span class="source-line-no">180</span><span id="line-180"> DEFAULT_BACKOFF_MULTIPLIER_INCREMENT);</span>
+<span class="source-line-no">181</span><span id="line-181"> backoffMultiplierDecrement = conf.getDouble(FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT,</span>
+<span class="source-line-no">182</span><span id="line-182"> DEFAULT_BACKOFF_MULTIPLIER_DECREMENT);</span>
+<span class="source-line-no">183</span><span id="line-183"></span>
+<span class="source-line-no">184</span><span id="line-184"> oversubscriptionIncrement = conf.getDouble(FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT,</span>
+<span class="source-line-no">185</span><span id="line-185"> DEFAULT_OVERSUBSCRIPTION_INCREMENT);</span>
+<span class="source-line-no">186</span><span id="line-186"> oversubscriptionDecrement = conf.getDouble(FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT,</span>
+<span class="source-line-no">187</span><span id="line-187"> DEFAULT_OVERSUBSCRIPTION_DECREMENT);</span>
+<span class="source-line-no">188</span><span id="line-188"></span>
+<span class="source-line-no">189</span><span id="line-189"> maxOversubscription =</span>
+<span class="source-line-no">190</span><span id="line-190"> conf.getDouble(FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION, DEFAULT_MAX_OVERSUBSCRIPTION);</span>
+<span class="source-line-no">191</span><span id="line-191"> utilizationErrorBudget = conf.getDouble(FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET,</span>
+<span class="source-line-no">192</span><span id="line-192"> DEFAULT_UTILIZATION_ERROR_BUDGET);</span>
+<span class="source-line-no">193</span><span id="line-193"> }</span>
+<span class="source-line-no">194</span><span id="line-194"></span>
+<span class="source-line-no">195</span><span id="line-195"> public FeedbackAdaptiveRateLimiter create() {</span>
+<span class="source-line-no">196</span><span id="line-196"> return new FeedbackAdaptiveRateLimiter(refillInterval, backoffMultiplierIncrement,</span>
+<span class="source-line-no">197</span><span id="line-197"> backoffMultiplierDecrement, maxBackoffMultiplier, oversubscriptionIncrement,</span>
+<span class="source-line-no">198</span><span id="line-198"> oversubscriptionDecrement, maxOversubscription, utilizationErrorBudget);</span>
+<span class="source-line-no">199</span><span id="line-199"> }</span>
+<span class="source-line-no">200</span><span id="line-200"> }</span>
+<span class="source-line-no">201</span><span id="line-201"></span>
+<span class="source-line-no">202</span><span id="line-202"> private volatile long nextRefillTime = -1L;</span>
+<span class="source-line-no">203</span><span id="line-203"> private final long refillInterval;</span>
+<span class="source-line-no">204</span><span id="line-204"> private final double backoffMultiplierIncrement;</span>
+<span class="source-line-no">205</span><span id="line-205"> private final double backoffMultiplierDecrement;</span>
+<span class="source-line-no">206</span><span id="line-206"> private final double maxBackoffMultiplier;</span>
+<span class="source-line-no">207</span><span id="line-207"> private final double oversubscriptionIncrement;</span>
+<span class="source-line-no">208</span><span id="line-208"> private final double oversubscriptionDecrement;</span>
+<span class="source-line-no">209</span><span id="line-209"> private final double maxOversubscription;</span>
+<span class="source-line-no">210</span><span id="line-210"> private final double minTargetUtilization;</span>
+<span class="source-line-no">211</span><span id="line-211"> private final double maxTargetUtilization;</span>
+<span class="source-line-no">212</span><span id="line-212"></span>
+<span class="source-line-no">213</span><span id="line-213"> // Adaptive backoff state</span>
+<span class="source-line-no">214</span><span id="line-214"> private final AtomicDouble currentBackoffMultiplier = new AtomicDouble(1.0);</span>
+<span class="source-line-no">215</span><span id="line-215"> private volatile boolean hadContentionThisInterval = false;</span>
+<span class="source-line-no">216</span><span id="line-216"></span>
+<span class="source-line-no">217</span><span id="line-217"> // Over-subscription proportion state</span>
+<span class="source-line-no">218</span><span id="line-218"> private final AtomicDouble oversubscriptionProportion = new AtomicDouble(0.0);</span>
+<span class="source-line-no">219</span><span id="line-219"></span>
+<span class="source-line-no">220</span><span id="line-220"> // EWMA tracking</span>
+<span class="source-line-no">221</span><span id="line-221"> private final double emaAlpha;</span>
+<span class="source-line-no">222</span><span id="line-222"> private volatile double utilizationEma = 0.0;</span>
+<span class="source-line-no">223</span><span id="line-223"> private final AtomicLong lastIntervalConsumed;</span>
+<span class="source-line-no">224</span><span id="line-224"></span>
+<span class="source-line-no">225</span><span id="line-225"> FeedbackAdaptiveRateLimiter(long refillInterval, double backoffMultiplierIncrement,</span>
+<span class="source-line-no">226</span><span id="line-226"> double backoffMultiplierDecrement, double maxBackoffMultiplier,</span>
+<span class="source-line-no">227</span><span id="line-227"> double oversubscriptionIncrement, double oversubscriptionDecrement, double maxOversubscription,</span>
+<span class="source-line-no">228</span><span id="line-228"> double utilizationErrorBudget) {</span>
+<span class="source-line-no">229</span><span id="line-229"> super();</span>
+<span class="source-line-no">230</span><span id="line-230"> Preconditions.checkArgument(getTimeUnitInMillis() >= refillInterval, String.format(</span>
+<span class="source-line-no">231</span><span id="line-231"> "Refill interval %s must be ≤ TimeUnit millis %s", refillInterval, getTimeUnitInMillis()));</span>
+<span class="source-line-no">232</span><span id="line-232"></span>
+<span class="source-line-no">233</span><span id="line-233"> Preconditions.checkArgument(backoffMultiplierIncrement > 0.0,</span>
+<span class="source-line-no">234</span><span id="line-234"> String.format("Backoff multiplier increment %s must be > 0.0", backoffMultiplierIncrement));</span>
+<span class="source-line-no">235</span><span id="line-235"> Preconditions.checkArgument(backoffMultiplierDecrement > 0.0,</span>
+<span class="source-line-no">236</span><span id="line-236"> String.format("Backoff multiplier decrement %s must be > 0.0", backoffMultiplierDecrement));</span>
+<span class="source-line-no">237</span><span id="line-237"> Preconditions.checkArgument(maxBackoffMultiplier > 1.0,</span>
+<span class="source-line-no">238</span><span id="line-238"> String.format("Max backoff multiplier %s must be > 1.0", maxBackoffMultiplier));</span>
+<span class="source-line-no">239</span><span id="line-239"> Preconditions.checkArgument(utilizationErrorBudget > 0.0 && utilizationErrorBudget <= 1.0,</span>
+<span class="source-line-no">240</span><span id="line-240"> String.format("Utilization error budget %s must be between 0.0 and 1.0",</span>
+<span class="source-line-no">241</span><span id="line-241"> utilizationErrorBudget));</span>
+<span class="source-line-no">242</span><span id="line-242"></span>
+<span class="source-line-no">243</span><span id="line-243"> this.refillInterval = refillInterval;</span>
+<span class="source-line-no">244</span><span id="line-244"> this.backoffMultiplierIncrement = backoffMultiplierIncrement;</span>
+<span class="source-line-no">245</span><span id="line-245"> this.backoffMultiplierDecrement = backoffMultiplierDecrement;</span>
+<span class="source-line-no">246</span><span id="line-246"> this.maxBackoffMultiplier = maxBackoffMultiplier;</span>
+<span class="source-line-no">247</span><span id="line-247"> this.oversubscriptionIncrement = oversubscriptionIncrement;</span>
+<span class="source-line-no">248</span><span id="line-248"> this.oversubscriptionDecrement = oversubscriptionDecrement;</span>
+<span class="source-line-no">249</span><span id="line-249"> this.maxOversubscription = maxOversubscription;</span>
+<span class="source-line-no">250</span><span id="line-250"> this.minTargetUtilization = 1.0 - utilizationErrorBudget;</span>
+<span class="source-line-no">251</span><span id="line-251"> this.maxTargetUtilization = 1.0 + utilizationErrorBudget;</span>
+<span class="source-line-no">252</span><span id="line-252"></span>
+<span class="source-line-no">253</span><span id="line-253"> this.emaAlpha = refillInterval / (double) (WINDOW_TIME_MS + refillInterval);</span>
+<span class="source-line-no">254</span><span id="line-254"> this.lastIntervalConsumed = new AtomicLong(0);</span>
+<span class="source-line-no">255</span><span id="line-255"> }</span>
+<span class="source-line-no">256</span><span id="line-256"></span>
+<span class="source-line-no">257</span><span id="line-257"> @Override</span>
+<span class="source-line-no">258</span><span id="line-258"> public long refill(long limit) {</span>
+<span class="source-line-no">259</span><span id="line-259"> final long now = EnvironmentEdgeManager.currentTime();</span>
+<span class="source-line-no">260</span><span id="line-260"> if (nextRefillTime == -1) {</span>
+<span class="source-line-no">261</span><span id="line-261"> nextRefillTime = now + refillInterval;</span>
+<span class="source-line-no">262</span><span id="line-262"> hadContentionThisInterval = false;</span>
+<span class="source-line-no">263</span><span id="line-263"> return getOversubscribedLimit(limit);</span>
+<span class="source-line-no">264</span><span id="line-264"> }</span>
+<span class="source-line-no">265</span><span id="line-265"> if (now < nextRefillTime) {</span>
+<span class="source-line-no">266</span><span id="line-266"> return 0;</span>
+<span class="source-line-no">267</span><span id="line-267"> }</span>
+<span class="source-line-no">268</span><span id="line-268"> long diff = refillInterval + now - nextRefillTime;</span>
+<span class="source-line-no">269</span><span id="line-269"> long refills = diff / refillInterval;</span>
+<span class="source-line-no">270</span><span id="line-270"> nextRefillTime = now + refillInterval;</span>
+<span class="source-line-no">271</span><span id="line-271"></span>
+<span class="source-line-no">272</span><span id="line-272"> long intendedUsage = getRefillIntervalAdjustedLimit(limit);</span>
+<span class="source-line-no">273</span><span id="line-273"> if (intendedUsage > 0) {</span>
+<span class="source-line-no">274</span><span id="line-274"> long consumed = lastIntervalConsumed.get();</span>
+<span class="source-line-no">275</span><span id="line-275"> if (consumed > 0) {</span>
+<span class="source-line-no">276</span><span id="line-276"> double util = (double) consumed / intendedUsage;</span>
+<span class="source-line-no">277</span><span id="line-277"> utilizationEma = emaAlpha * util + (1.0 - emaAlpha) * utilizationEma;</span>
+<span class="source-line-no">278</span><span id="line-278"> }</span>
+<span class="source-line-no">279</span><span id="line-279"> }</span>
+<span class="source-line-no">280</span><span id="line-280"></span>
+<span class="source-line-no">281</span><span id="line-281"> if (hadContentionThisInterval) {</span>
+<span class="source-line-no">282</span><span id="line-282"> currentBackoffMultiplier.set(Math</span>
+<span class="source-line-no">283</span><span id="line-283"> .min(currentBackoffMultiplier.get() + backoffMultiplierIncrement, maxBackoffMultiplier));</span>
+<span class="source-line-no">284</span><span id="line-284"> } else {</span>
+<span class="source-line-no">285</span><span id="line-285"> currentBackoffMultiplier</span>
+<span class="source-line-no">286</span><span id="line-286"> .set(Math.max(currentBackoffMultiplier.get() - backoffMultiplierDecrement, 1.0));</span>
+<span class="source-line-no">287</span><span id="line-287"> }</span>
+<span class="source-line-no">288</span><span id="line-288"></span>
+<span class="source-line-no">289</span><span id="line-289"> double avgUtil = utilizationEma;</span>
+<span class="source-line-no">290</span><span id="line-290"> if (avgUtil < minTargetUtilization) {</span>
+<span class="source-line-no">291</span><span id="line-291"> oversubscriptionProportion.set(Math</span>
+<span class="source-line-no">292</span><span id="line-292"> .min(oversubscriptionProportion.get() + oversubscriptionIncrement, maxOversubscription));</span>
+<span class="source-line-no">293</span><span id="line-293"> } else if (avgUtil >= maxTargetUtilization) {</span>
+<span class="source-line-no">294</span><span id="line-294"> oversubscriptionProportion</span>
+<span class="source-line-no">295</span><span id="line-295"> .set(Math.max(oversubscriptionProportion.get() - oversubscriptionDecrement, 0.0));</span>
+<span class="source-line-no">296</span><span id="line-296"> }</span>
+<span class="source-line-no">297</span><span id="line-297"></span>
+<span class="source-line-no">298</span><span id="line-298"> hadContentionThisInterval = false;</span>
+<span class="source-line-no">299</span><span id="line-299"> lastIntervalConsumed.set(0);</span>
+<span class="source-line-no">300</span><span id="line-300"></span>
+<span class="source-line-no">301</span><span id="line-301"> long refillAmount = refills * getRefillIntervalAdjustedLimit(limit);</span>
+<span class="source-line-no">302</span><span id="line-302"> long maxRefill = getOversubscribedLimit(limit);</span>
+<span class="source-line-no">303</span><span id="line-303"> return Math.min(maxRefill, refillAmount);</span>
+<span class="source-line-no">304</span><span id="line-304"> }</span>
+<span class="source-line-no">305</span><span id="line-305"></span>
+<span class="source-line-no">306</span><span id="line-306"> private long getOversubscribedLimit(long limit) {</span>
+<span class="source-line-no">307</span><span id="line-307"> return limit + (long) (limit * oversubscriptionProportion.get());</span>
+<span class="source-line-no">308</span><span id="line-308"> }</span>
+<span class="source-line-no">309</span><span id="line-309"></span>
+<span class="source-line-no">310</span><span id="line-310"> @Override</span>
+<span class="source-line-no">311</span><span id="line-311"> public void consume(long amount) {</span>
+<span class="source-line-no">312</span><span id="line-312"> super.consume(amount);</span>
+<span class="source-line-no">313</span><span id="line-313"> lastIntervalConsumed.addAndGet(amount);</span>
+<span class="source-line-no">314</span><span id="line-314"> }</span>
+<span class="source-line-no">315</span><span id="line-315"></span>
+<span class="source-line-no">316</span><span id="line-316"> @Override</span>
+<span class="source-line-no">317</span><span id="line-317"> public long getWaitInterval(long limit, long available, long amount) {</span>
+<span class="source-line-no">318</span><span id="line-318"> limit = getRefillIntervalAdjustedLimit(limit);</span>
+<span class="source-line-no">319</span><span id="line-319"> if (nextRefillTime == -1) {</span>
+<span class="source-line-no">320</span><span id="line-320"> return 0;</span>
+<span class="source-line-no">321</span><span id="line-321"> }</span>
+<span class="source-line-no">322</span><span id="line-322"></span>
+<span class="source-line-no">323</span><span id="line-323"> final long now = EnvironmentEdgeManager.currentTime();</span>
+<span class="source-line-no">324</span><span id="line-324"> final long refillTime = nextRefillTime;</span>
+<span class="source-line-no">325</span><span id="line-325"> long diff = amount - available;</span>
+<span class="source-line-no">326</span><span id="line-326"> if (diff > 0) {</span>
+<span class="source-line-no">327</span><span id="line-327"> hadContentionThisInterval = true;</span>
+<span class="source-line-no">328</span><span id="line-328"> }</span>
+<span class="source-line-no">329</span><span id="line-329"></span>
+<span class="source-line-no">330</span><span id="line-330"> long nextInterval = refillTime - now;</span>
+<span class="source-line-no">331</span><span id="line-331"> if (diff <= limit) {</span>
+<span class="source-line-no">332</span><span id="line-332"> return applyBackoffMultiplier(nextInterval);</span>
+<span class="source-line-no">333</span><span id="line-333"> }</span>
+<span class="source-line-no">334</span><span id="line-334"></span>
+<span class="source-line-no">335</span><span id="line-335"> long extra = diff / limit;</span>
+<span class="source-line-no">336</span><span id="line-336"> if (diff % limit == 0) {</span>
+<span class="source-line-no">337</span><span id="line-337"> extra--;</span>
+<span class="source-line-no">338</span><span id="line-338"> }</span>
+<span class="source-line-no">339</span><span id="line-339"> long baseWait = nextInterval + (extra * refillInterval);</span>
+<span class="source-line-no">340</span><span id="line-340"> return applyBackoffMultiplier(baseWait);</span>
+<span class="source-line-no">341</span><span id="line-341"> }</span>
+<span class="source-line-no">342</span><span id="line-342"></span>
+<span class="source-line-no">343</span><span id="line-343"> private long getRefillIntervalAdjustedLimit(long limit) {</span>
+<span class="source-line-no">344</span><span id="line-344"> return (long) Math.ceil(refillInterval / (double) getTimeUnitInMillis() * limit);</span>
+<span class="source-line-no">345</span><span id="line-345"> }</span>
+<span class="source-line-no">346</span><span id="line-346"></span>
+<span class="source-line-no">347</span><span id="line-347"> private long applyBackoffMultiplier(long baseWaitInterval) {</span>
+<span class="source-line-no">348</span><span id="line-348"> return (long) (baseWaitInterval * currentBackoffMultiplier.get());</span>
+<span class="source-line-no">349</span><span id="line-349"> }</span>
+<span class="source-line-no">350</span><span id="line-350"></span>
+<span class="source-line-no">351</span><span id="line-351"> // strictly for testing</span>
+<span class="source-line-no">352</span><span id="line-352"> @Override</span>
+<span class="source-line-no">353</span><span id="line-353"> public void setNextRefillTime(long nextRefillTime) {</span>
+<span class="source-line-no">354</span><span id="line-354"> this.nextRefillTime = nextRefillTime;</span>
+<span class="source-line-no">355</span><span id="line-355"> }</span>
+<span class="source-line-no">356</span><span id="line-356"></span>
+<span class="source-line-no">357</span><span id="line-357"> @Override</span>
+<span class="source-line-no">358</span><span id="line-358"> public long getNextRefillTime() {</span>
+<span class="source-line-no">359</span><span id="line-359"> return this.nextRefillTime;</span>
+<span class="source-line-no">360</span><span id="line-360"> }</span>
+<span class="source-line-no">361</span><span id="line-361">}</span>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</main>
+</body>
+</html>
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html b/apidocs/src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html
new file mode 100644
index 00000000000..771346f24a6
--- /dev/null
+++ b/apidocs/src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html
@@ -0,0 +1,439 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) -->
+<title>Source code</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="description" content="source: package: org.apache.hadoop.hbase.quotas, class: FeedbackAdaptiveRateLimiter">
+<meta name="generator" content="javadoc/SourceToHTMLConverter">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body class="source-page">
+<main role="main">
+<div class="source-container">
+<pre><span class="source-line-no">001</span><span id="line-1">/*</span>
+<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="source-line-no">003</span><span id="line-3"> * or more contributor license agreements. See the NOTICE file</span>
+<span class="source-line-no">004</span><span id="line-4"> * distributed with this work for additional information</span>
+<span class="source-line-no">005</span><span id="line-5"> * regarding copyright ownership. The ASF licenses this file</span>
+<span class="source-line-no">006</span><span id="line-6"> * to you under the Apache License, Version 2.0 (the</span>
+<span class="source-line-no">007</span><span id="line-7"> * "License"); you may not use this file except in compliance</span>
+<span class="source-line-no">008</span><span id="line-8"> * with the License. You may obtain a copy of the License at</span>
+<span class="source-line-no">009</span><span id="line-9"> *</span>
+<span class="source-line-no">010</span><span id="line-10"> * http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="source-line-no">011</span><span id="line-11"> *</span>
+<span class="source-line-no">012</span><span id="line-12"> * Unless required by applicable law or agreed to in writing, software</span>
+<span class="source-line-no">013</span><span id="line-13"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
+<span class="source-line-no">014</span><span id="line-14"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="source-line-no">015</span><span id="line-15"> * See the License for the specific language governing permissions and</span>
+<span class="source-line-no">016</span><span id="line-16"> * limitations under the License.</span>
+<span class="source-line-no">017</span><span id="line-17"> */</span>
+<span class="source-line-no">018</span><span id="line-18">package org.apache.hadoop.hbase.quotas;</span>
+<span class="source-line-no">019</span><span id="line-19"></span>
+<span class="source-line-no">020</span><span id="line-20">import java.util.concurrent.atomic.AtomicLong;</span>
+<span class="source-line-no">021</span><span id="line-21">import org.apache.hadoop.conf.Configuration;</span>
+<span class="source-line-no">022</span><span id="line-22">import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;</span>
+<span class="source-line-no">023</span><span id="line-23">import org.apache.yetus.audience.InterfaceAudience;</span>
+<span class="source-line-no">024</span><span id="line-24">import org.apache.yetus.audience.InterfaceStability;</span>
+<span class="source-line-no">025</span><span id="line-25"></span>
+<span class="source-line-no">026</span><span id="line-26">import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;</span>
+<span class="source-line-no">027</span><span id="line-27">import org.apache.hbase.thirdparty.com.google.common.util.concurrent.AtomicDouble;</span>
+<span class="source-line-no">028</span><span id="line-28"></span>
+<span class="source-line-no">029</span><span id="line-29">/**</span>
+<span class="source-line-no">030</span><span id="line-30"> * An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns</span>
+<span class="source-line-no">031</span><span id="line-31"> * to achieve stable, full utilization of configured quota allowances while managing client</span>
+<span class="source-line-no">032</span><span id="line-32"> * contention.</span>
+<span class="source-line-no">033</span><span id="line-33"> * <p></span>
+<span class="source-line-no">034</span><span id="line-34"> * <b>Core Algorithm:</b> This rate limiter divides time into fixed refill intervals (configurable</span>
+<span class="source-line-no">035</span><span id="line-35"> * via {@code hbase.quota.rate.limiter.refill.interval.ms}, default is 1 refill per TimeUnit of the</span>
+<span class="source-line-no">036</span><span id="line-36"> * RateLimiter). At the beginning of each interval, a fresh allocation of resources becomes</span>
+<span class="source-line-no">037</span><span id="line-37"> * available based on the configured limit. Clients consume resources as they make requests. When</span>
+<span class="source-line-no">038</span><span id="line-38"> * resources are exhausted, clients must wait until the next refill, or until enough resources</span>
+<span class="source-line-no">039</span><span id="line-39"> * become available.</span>
+<span class="source-line-no">040</span><span id="line-40"> * <p></span>
+<span class="source-line-no">041</span><span id="line-41"> * <b>Adaptive Backpressure:</b> When multiple threads compete for limited resources (contention),</span>
+<span class="source-line-no">042</span><span id="line-42"> * this limiter detects the contention and applies increasing backpressure by extending wait</span>
+<span class="source-line-no">043</span><span id="line-43"> * intervals. This prevents thundering herd behavior where many threads wake simultaneously and</span>
+<span class="source-line-no">044</span><span id="line-44"> * compete for the same resources. The backoff multiplier increases by a small increment (see</span>
+<span class="source-line-no">045</span><span id="line-45"> * {@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT}) per interval when contention occurs, and</span>
+<span class="source-line-no">046</span><span id="line-46"> * decreases (see {@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT}) when no contention is</span>
+<span class="source-line-no">047</span><span id="line-47"> * detected, converging toward optimal throughput. The multiplier is capped at a maximum value (see</span>
+<span class="source-line-no">048</span><span id="line-48"> * {@link #FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER}) to prevent unbounded waits.</span>
+<span class="source-line-no">049</span><span id="line-49"> * <p></span>
+<span class="source-line-no">050</span><span id="line-50"> * Contention is detected when {@link #getWaitInterval} is called with insufficient available</span>
+<span class="source-line-no">051</span><span id="line-51"> * resources (i.e., {@code amount > available}), indicating a thread needs to wait for resources. If</span>
+<span class="source-line-no">052</span><span id="line-52"> * this occurs more than once in a refill interval, the limiter identifies it as contention</span>
+<span class="source-line-no">053</span><span id="line-53"> * requiring increased backpressure.</span>
+<span class="source-line-no">054</span><span id="line-54"> * <p></span>
+<span class="source-line-no">055</span><span id="line-55"> * <b>Oversubscription for Full Utilization:</b> In practice, synchronization overhead and timing</span>
+<span class="source-line-no">056</span><span id="line-56"> * variations often prevent clients from consuming exactly their full allowance, resulting in</span>
+<span class="source-line-no">057</span><span id="line-57"> * consistent under-utilization. This limiter addresses this by tracking utilization via an</span>
+<span class="source-line-no">058</span><span id="line-58"> * exponentially weighted moving average (EWMA). When average utilization falls below the target</span>
+<span class="source-line-no">059</span><span id="line-59"> * range (determined by {@link #FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET}), the limiter gradually</span>
+<span class="source-line-no">060</span><span id="line-60"> * increases the oversubscription proportion (see</span>
+<span class="source-line-no">061</span><span id="line-61"> * {@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT}), allowing more resources per interval than</span>
+<span class="source-line-no">062</span><span id="line-62"> * the base limit. Conversely, when utilization exceeds the target range, oversubscription is</span>
+<span class="source-line-no">063</span><span id="line-63"> * decreased (see {@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT}). Oversubscription is capped</span>
+<span class="source-line-no">064</span><span id="line-64"> * (see {@link #FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION}) to prevent excessive bursts while still</span>
+<span class="source-line-no">065</span><span id="line-65"> * enabling consistent full utilization.</span>
+<span class="source-line-no">066</span><span id="line-66"> * <p></span>
+<span class="source-line-no">067</span><span id="line-67"> * <b>Example Scenario:</b> Consider a quota of 1000 requests per second with a 1-second refill</span>
+<span class="source-line-no">068</span><span id="line-68"> * interval. Without oversubscription, clients might typically achieve only 950 req/s due to</span>
+<span class="source-line-no">069</span><span id="line-69"> * coordination delays. This limiter would detect the under-utilization, gradually increase</span>
+<span class="source-line-no">070</span><span id="line-70"> * oversubscription, allowing slightly more resources per interval, which compensates for</span>
+<span class="source-line-no">071</span><span id="line-71"> * inefficiencies and achieves stable throughput closer to the configured quota. If multiple threads</span>
+<span class="source-line-no">072</span><span id="line-72"> * simultaneously try to consume resources and repeatedly wait, the backoff multiplier increases</span>
+<span class="source-line-no">073</span><span id="line-73"> * their wait times, spreading out their retry attempts and reducing wasted CPU cycles.</span>
+<span class="source-line-no">074</span><span id="line-74"> * <p></span>
+<span class="source-line-no">075</span><span id="line-75"> * <b>Configuration Parameters:</b></span>
+<span class="source-line-no">076</span><span id="line-76"> * <ul></span>
+<span class="source-line-no">077</span><span id="line-77"> * <li>{@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT}: Controls rate of backpressure</span>
+<span class="source-line-no">078</span><span id="line-78"> * increase</li></span>
+<span class="source-line-no">079</span><span id="line-79"> * <li>{@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT}: Controls rate of backpressure</span>
+<span class="source-line-no">080</span><span id="line-80"> * decrease</li></span>
+<span class="source-line-no">081</span><span id="line-81"> * <li>{@link #FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER}: Caps the maximum wait time extension</li></span>
+<span class="source-line-no">082</span><span id="line-82"> * <li>{@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT}: Controls rate of oversubscription</span>
+<span class="source-line-no">083</span><span id="line-83"> * increase</li></span>
+<span class="source-line-no">084</span><span id="line-84"> * <li>{@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT}: Controls rate of oversubscription</span>
+<span class="source-line-no">085</span><span id="line-85"> * decrease</li></span>
+<span class="source-line-no">086</span><span id="line-86"> * <li>{@link #FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION}: Caps the maximum burst capacity</li></span>
+<span class="source-line-no">087</span><span id="line-87"> * <li>{@link #FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET}: Defines the acceptable range around full</span>
+<span class="source-line-no">088</span><span id="line-88"> * utilization</li></span>
+<span class="source-line-no">089</span><span id="line-89"> * </ul></span>
+<span class="source-line-no">090</span><span id="line-90"> * <p></span>
+<span class="source-line-no">091</span><span id="line-91"> * This algorithm converges toward stable operation where: (1) wait intervals are just long enough</span>
+<span class="source-line-no">092</span><span id="line-92"> * to prevent excessive contention, and (2) oversubscription is just high enough to achieve</span>
+<span class="source-line-no">093</span><span id="line-93"> * consistent full utilization of the configured allowance.</span>
+<span class="source-line-no">094</span><span id="line-94"> */</span>
+<span class="source-line-no">095</span><span id="line-95">@InterfaceAudience.Private</span>
+<span class="source-line-no">096</span><span id="line-96">@InterfaceStability.Evolving</span>
+<span class="source-line-no">097</span><span id="line-97">public class FeedbackAdaptiveRateLimiter extends RateLimiter {</span>
+<span class="source-line-no">098</span><span id="line-98"></span>
+<span class="source-line-no">099</span><span id="line-99"> /**</span>
+<span class="source-line-no">100</span><span id="line-100"> * Amount to increase the backoff multiplier when contention is detected per refill interval. In</span>
+<span class="source-line-no">101</span><span id="line-101"> * other words, if we are throttling more than once per refill interval, then we will increase our</span>
+<span class="source-line-no">102</span><span id="line-102"> * wait intervals (increase backpressure, decrease throughput).</span>
+<span class="source-line-no">103</span><span id="line-103"> */</span>
+<span class="source-line-no">104</span><span id="line-104"> public static final String FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT =</span>
+<span class="source-line-no">105</span><span id="line-105"> "hbase.quota.rate.limiter.feedback.adaptive.backoff.multiplier.increment";</span>
+<span class="source-line-no">106</span><span id="line-106"> public static final double DEFAULT_BACKOFF_MULTIPLIER_INCREMENT = 0.0005;</span>
+<span class="source-line-no">107</span><span id="line-107"></span>
+<span class="source-line-no">108</span><span id="line-108"> /**</span>
+<span class="source-line-no">109</span><span id="line-109"> * Amount to decrease the backoff multiplier when no contention is detected per refill interval.</span>
+<span class="source-line-no">110</span><span id="line-110"> * In other words, if we are only throttling once per refill interval, then we will decrease our</span>
+<span class="source-line-no">111</span><span id="line-111"> * wait interval (decrease backpressure, increase throughput).</span>
+<span class="source-line-no">112</span><span id="line-112"> */</span>
+<span class="source-line-no">113</span><span id="line-113"> public static final String FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT =</span>
+<span class="source-line-no">114</span><span id="line-114"> "hbase.quota.rate.limiter.feedback.adaptive.backoff.multiplier.decrement";</span>
+<span class="source-line-no">115</span><span id="line-115"> public static final double DEFAULT_BACKOFF_MULTIPLIER_DECREMENT = 0.0001;</span>
+<span class="source-line-no">116</span><span id="line-116"></span>
+<span class="source-line-no">117</span><span id="line-117"> /**</span>
+<span class="source-line-no">118</span><span id="line-118"> * Maximum ceiling for the backoff multiplier to avoid unbounded waits.</span>
+<span class="source-line-no">119</span><span id="line-119"> */</span>
+<span class="source-line-no">120</span><span id="line-120"> public static final String FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER =</span>
+<span class="source-line-no">121</span><span id="line-121"> "hbase.quota.rate.limiter.feedback.adaptive.max.backoff.multiplier";</span>
+<span class="source-line-no">122</span><span id="line-122"> public static final double DEFAULT_MAX_BACKOFF_MULTIPLIER = 10.0;</span>
+<span class="source-line-no">123</span><span id="line-123"></span>
+<span class="source-line-no">124</span><span id="line-124"> /**</span>
+<span class="source-line-no">125</span><span id="line-125"> * Amount to increase the oversubscription proportion when utilization is below (1.0-errorBudget).</span>
+<span class="source-line-no">126</span><span id="line-126"> */</span>
+<span class="source-line-no">127</span><span id="line-127"> public static final String FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT =</span>
+<span class="source-line-no">128</span><span id="line-128"> "hbase.quota.rate.limiter.feedback.adaptive.oversubscription.increment";</span>
+<span class="source-line-no">129</span><span id="line-129"> public static final double DEFAULT_OVERSUBSCRIPTION_INCREMENT = 0.001;</span>
+<span class="source-line-no">130</span><span id="line-130"></span>
+<span class="source-line-no">131</span><span id="line-131"> /**</span>
+<span class="source-line-no">132</span><span id="line-132"> * Amount to decrease the oversubscription proportion when utilization exceeds (1.0+errorBudget).</span>
+<span class="source-line-no">133</span><span id="line-133"> */</span>
+<span class="source-line-no">134</span><span id="line-134"> public static final String FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT =</span>
+<span class="source-line-no">135</span><span id="line-135"> "hbase.quota.rate.limiter.feedback.adaptive.oversubscription.decrement";</span>
+<span class="source-line-no">136</span><span id="line-136"> public static final double DEFAULT_OVERSUBSCRIPTION_DECREMENT = 0.00005;</span>
+<span class="source-line-no">137</span><span id="line-137"></span>
+<span class="source-line-no">138</span><span id="line-138"> /**</span>
+<span class="source-line-no">139</span><span id="line-139"> * Maximum ceiling for oversubscription to prevent unbounded bursts. Some oversubscription can be</span>
+<span class="source-line-no">140</span><span id="line-140"> * nice, because it allows you to balance the inefficiency and latency of retries, landing on</span>
+<span class="source-line-no">141</span><span id="line-141"> * stable usage at approximately your configured allowance. Without adequate oversubscription,</span>
+<span class="source-line-no">142</span><span id="line-142"> * your steady state may often seem significantly, and suspiciously, lower than your configured</span>
+<span class="source-line-no">143</span><span id="line-143"> * allowance.</span>
+<span class="source-line-no">144</span><span id="line-144"> */</span>
+<span class="source-line-no">145</span><span id="line-145"> public static final String FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION =</span>
+<span class="source-line-no">146</span><span id="line-146"> "hbase.quota.rate.limiter.feedback.adaptive.max.oversubscription";</span>
+<span class="source-line-no">147</span><span id="line-147"> public static final double DEFAULT_MAX_OVERSUBSCRIPTION = 0.25;</span>
+<span class="source-line-no">148</span><span id="line-148"></span>
+<span class="source-line-no">149</span><span id="line-149"> /**</span>
+<span class="source-line-no">150</span><span id="line-150"> * Acceptable deviation around full utilization (1.0) for adjusting oversubscription. If stable</span>
+<span class="source-line-no">151</span><span id="line-151"> * throttle usage is typically under (1.0-errorBudget), then we will allow more oversubscription.</span>
+<span class="source-line-no">152</span><span id="line-152"> * If stable throttle usage is typically over (1.0+errorBudget), then we will pull back</span>
+<span class="source-line-no">153</span><span id="line-153"> * oversubscription.</span>
+<span class="source-line-no">154</span><span id="line-154"> */</span>
+<span class="source-line-no">155</span><span id="line-155"> public static final String FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET =</span>
+<span class="source-line-no">156</span><span id="line-156"> "hbase.quota.rate.limiter.feedback.adaptive.utilization.error.budget";</span>
+<span class="source-line-no">157</span><span id="line-157"> public static final double DEFAULT_UTILIZATION_ERROR_BUDGET = 0.025;</span>
+<span class="source-line-no">158</span><span id="line-158"></span>
+<span class="source-line-no">159</span><span id="line-159"> private static final int WINDOW_TIME_MS = 60_000;</span>
+<span class="source-line-no">160</span><span id="line-160"></span>
+<span class="source-line-no">161</span><span id="line-161"> public static class FeedbackAdaptiveRateLimiterFactory {</span>
+<span class="source-line-no">162</span><span id="line-162"></span>
+<span class="source-line-no">163</span><span id="line-163"> private final long refillInterval;</span>
+<span class="source-line-no">164</span><span id="line-164"> private final double backoffMultiplierIncrement;</span>
+<span class="source-line-no">165</span><span id="line-165"> private final double backoffMultiplierDecrement;</span>
+<span class="source-line-no">166</span><span id="line-166"> private final double maxBackoffMultiplier;</span>
+<span class="source-line-no">167</span><span id="line-167"> private final double oversubscriptionIncrement;</span>
+<span class="source-line-no">168</span><span id="line-168"> private final double oversubscriptionDecrement;</span>
+<span class="source-line-no">169</span><span id="line-169"> private final double maxOversubscription;</span>
+<span class="source-line-no">170</span><span id="line-170"> private final double utilizationErrorBudget;</span>
+<span class="source-line-no">171</span><span id="line-171"></span>
+<span class="source-line-no">172</span><span id="line-172"> public FeedbackAdaptiveRateLimiterFactory(Configuration conf) {</span>
+<span class="source-line-no">173</span><span id="line-173"> refillInterval = conf.getLong(FixedIntervalRateLimiter.RATE_LIMITER_REFILL_INTERVAL_MS,</span>
+<span class="source-line-no">174</span><span id="line-174"> RateLimiter.DEFAULT_TIME_UNIT);</span>
+<span class="source-line-no">175</span><span id="line-175"></span>
+<span class="source-line-no">176</span><span id="line-176"> maxBackoffMultiplier =</span>
+<span class="source-line-no">177</span><span id="line-177"> conf.getDouble(FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER, DEFAULT_MAX_BACKOFF_MULTIPLIER);</span>
+<span class="source-line-no">178</span><span id="line-178"></span>
+<span class="source-line-no">179</span><span id="line-179"> backoffMultiplierIncrement = conf.getDouble(FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT,</span>
+<span class="source-line-no">180</span><span id="line-180"> DEFAULT_BACKOFF_MULTIPLIER_INCREMENT);</span>
+<span class="source-line-no">181</span><span id="line-181"> backoffMultiplierDecrement = conf.getDouble(FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT,</span>
+<span class="source-line-no">182</span><span id="line-182"> DEFAULT_BACKOFF_MULTIPLIER_DECREMENT);</span>
+<span class="source-line-no">183</span><span id="line-183"></span>
+<span class="source-line-no">184</span><span id="line-184"> oversubscriptionIncrement = conf.getDouble(FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT,</span>
+<span class="source-line-no">185</span><span id="line-185"> DEFAULT_OVERSUBSCRIPTION_INCREMENT);</span>
+<span class="source-line-no">186</span><span id="line-186"> oversubscriptionDecrement = conf.getDouble(FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT,</span>
+<span class="source-line-no">187</span><span id="line-187"> DEFAULT_OVERSUBSCRIPTION_DECREMENT);</span>
+<span class="source-line-no">188</span><span id="line-188"></span>
+<span class="source-line-no">189</span><span id="line-189"> maxOversubscription =</span>
+<span class="source-line-no">190</span><span id="line-190"> conf.getDouble(FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION, DEFAULT_MAX_OVERSUBSCRIPTION);</span>
+<span class="source-line-no">191</span><span id="line-191"> utilizationErrorBudget = conf.getDouble(FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET,</span>
+<span class="source-line-no">192</span><span id="line-192"> DEFAULT_UTILIZATION_ERROR_BUDGET);</span>
+<span class="source-line-no">193</span><span id="line-193"> }</span>
+<span class="source-line-no">194</span><span id="line-194"></span>
+<span class="source-line-no">195</span><span id="line-195"> public FeedbackAdaptiveRateLimiter create() {</span>
+<span class="source-line-no">196</span><span id="line-196"> return new FeedbackAdaptiveRateLimiter(refillInterval, backoffMultiplierIncrement,</span>
+<span class="source-line-no">197</span><span id="line-197"> backoffMultiplierDecrement, maxBackoffMultiplier, oversubscriptionIncrement,</span>
+<span class="source-line-no">198</span><span id="line-198"> oversubscriptionDecrement, maxOversubscription, utilizationErrorBudget);</span>
+<span class="source-line-no">199</span><span id="line-199"> }</span>
+<span class="source-line-no">200</span><span id="line-200"> }</span>
+<span class="source-line-no">201</span><span id="line-201"></span>
+<span class="source-line-no">202</span><span id="line-202"> private volatile long nextRefillTime = -1L;</span>
+<span class="source-line-no">203</span><span id="line-203"> private final long refillInterval;</span>
+<span class="source-line-no">204</span><span id="line-204"> private final double backoffMultiplierIncrement;</span>
+<span class="source-line-no">205</span><span id="line-205"> private final double backoffMultiplierDecrement;</span>
+<span class="source-line-no">206</span><span id="line-206"> private final double maxBackoffMultiplier;</span>
+<span class="source-line-no">207</span><span id="line-207"> private final double oversubscriptionIncrement;</span>
+<span class="source-line-no">208</span><span id="line-208"> private final double oversubscriptionDecrement;</span>
+<span class="source-line-no">209</span><span id="line-209"> private final double maxOversubscription;</span>
+<span class="source-line-no">210</span><span id="line-210"> private final double minTargetUtilization;</span>
+<span class="source-line-no">211</span><span id="line-211"> private final double maxTargetUtilization;</span>
+<span class="source-line-no">212</span><span id="line-212"></span>
+<span class="source-line-no">213</span><span id="line-213"> // Adaptive backoff state</span>
+<span class="source-line-no">214</span><span id="line-214"> private final AtomicDouble currentBackoffMultiplier = new AtomicDouble(1.0);</span>
+<span class="source-line-no">215</span><span id="line-215"> private volatile boolean hadContentionThisInterval = false;</span>
+<span class="source-line-no">216</span><span id="line-216"></span>
+<span class="source-line-no">217</span><span id="line-217"> // Over-subscription proportion state</span>
+<span class="source-line-no">218</span><span id="line-218"> private final AtomicDouble oversubscriptionProportion = new AtomicDouble(0.0);</span>
+<span class="source-line-no">219</span><span id="line-219"></span>
+<span class="source-line-no">220</span><span id="line-220"> // EWMA tracking</span>
+<span class="source-line-no">221</span><span id="line-221"> private final double emaAlpha;</span>
+<span class="source-line-no">222</span><span id="line-222"> private volatile double utilizationEma = 0.0;</span>
+<span class="source-line-no">223</span><span id="line-223"> private final AtomicLong lastIntervalConsumed;</span>
+<span class="source-line-no">224</span><span id="line-224"></span>
+<span class="source-line-no">225</span><span id="line-225"> FeedbackAdaptiveRateLimiter(long refillInterval, double backoffMultiplierIncrement,</span>
+<span class="source-line-no">226</span><span id="line-226"> double backoffMultiplierDecrement, double maxBackoffMultiplier,</span>
+<span class="source-line-no">227</span><span id="line-227"> double oversubscriptionIncrement, double oversubscriptionDecrement, double maxOversubscription,</span>
+<span class="source-line-no">228</span><span id="line-228"> double utilizationErrorBudget) {</span>
+<span class="source-line-no">229</span><span id="line-229"> super();</span>
+<span class="source-line-no">230</span><span id="line-230"> Preconditions.checkArgument(getTimeUnitInMillis() >= refillInterval, String.format(</span>
+<span class="source-line-no">231</span><span id="line-231"> "Refill interval %s must be ≤ TimeUnit millis %s", refillInterval, getTimeUnitInMillis()));</span>
+<span class="source-line-no">232</span><span id="line-232"></span>
+<span class="source-line-no">233</span><span id="line-233"> Preconditions.checkArgument(backoffMultiplierIncrement > 0.0,</span>
+<span class="source-line-no">234</span><span id="line-234"> String.format("Backoff multiplier increment %s must be > 0.0", backoffMultiplierIncrement));</span>
+<span class="source-line-no">235</span><span id="line-235"> Preconditions.checkArgument(backoffMultiplierDecrement > 0.0,</span>
+<span class="source-line-no">236</span><span id="line-236"> String.format("Backoff multiplier decrement %s must be > 0.0", backoffMultiplierDecrement));</span>
+<span class="source-line-no">237</span><span id="line-237"> Preconditions.checkArgument(maxBackoffMultiplier > 1.0,</span>
+<span class="source-line-no">238</span><span id="line-238"> String.format("Max backoff multiplier %s must be > 1.0", maxBackoffMultiplier));</span>
+<span class="source-line-no">239</span><span id="line-239"> Preconditions.checkArgument(utilizationErrorBudget > 0.0 && utilizationErrorBudget <= 1.0,</span>
+<span class="source-line-no">240</span><span id="line-240"> String.format("Utilization error budget %s must be between 0.0 and 1.0",</span>
+<span class="source-line-no">241</span><span id="line-241"> utilizationErrorBudget));</span>
+<span class="source-line-no">242</span><span id="line-242"></span>
+<span class="source-line-no">243</span><span id="line-243"> this.refillInterval = refillInterval;</span>
+<span class="source-line-no">244</span><span id="line-244"> this.backoffMultiplierIncrement = backoffMultiplierIncrement;</span>
+<span class="source-line-no">245</span><span id="line-245"> this.backoffMultiplierDecrement = backoffMultiplierDecrement;</span>
+<span class="source-line-no">246</span><span id="line-246"> this.maxBackoffMultiplier = maxBackoffMultiplier;</span>
+<span class="source-line-no">247</span><span id="line-247"> this.oversubscriptionIncrement = oversubscriptionIncrement;</span>
+<span class="source-line-no">248</span><span id="line-248"> this.oversubscriptionDecrement = oversubscriptionDecrement;</span>
+<span class="source-line-no">249</span><span id="line-249"> this.maxOversubscription = maxOversubscription;</span>
+<span class="source-line-no">250</span><span id="line-250"> this.minTargetUtilization = 1.0 - utilizationErrorBudget;</span>
+<span class="source-line-no">251</span><span id="line-251"> this.maxTargetUtilization = 1.0 + utilizationErrorBudget;</span>
+<span class="source-line-no">252</span><span id="line-252"></span>
+<span class="source-line-no">253</span><span id="line-253"> this.emaAlpha = refillInterval / (double) (WINDOW_TIME_MS + refillInterval);</span>
+<span class="source-line-no">254</span><span id="line-254"> this.lastIntervalConsumed = new AtomicLong(0);</span>
+<span class="source-line-no">255</span><span id="line-255"> }</span>
+<span class="source-line-no">256</span><span id="line-256"></span>
+<span class="source-line-no">257</span><span id="line-257"> @Override</span>
+<span class="source-line-no">258</span><span id="line-258"> public long refill(long limit) {</span>
+<span class="source-line-no">259</span><span id="line-259"> final long now = EnvironmentEdgeManager.currentTime();</span>
+<span class="source-line-no">260</span><span id="line-260"> if (nextRefillTime == -1) {</span>
+<span class="source-line-no">261</span><span id="line-261"> nextRefillTime = now + refillInterval;</span>
+<span class="source-line-no">262</span><span id="line-262"> hadContentionThisInterval = false;</span>
+<span class="source-line-no">263</span><span id="line-263"> return getOversubscribedLimit(limit);</span>
+<span class="source-line-no">264</span><span id="line-264"> }</span>
+<span class="source-line-no">265</span><span id="line-265"> if (now < nextRefillTime) {</span>
+<span class="source-line-no">266</span><span id="line-266"> return 0;</span>
+<span class="source-line-no">267</span><span id="line-267"> }</span>
+<span class="source-line-no">268</span><span id="line-268"> long diff = refillInterval + now - nextRefillTime;</span>
+<span class="source-line-no">269</span><span id="line-269"> long refills = diff / refillInterval;</span>
+<span class="source-line-no">270</span><span id="line-270"> nextRefillTime = now + refillInterval;</span>
+<span class="source-line-no">271</span><span id="line-271"></span>
+<span class="source-line-no">272</span><span id="line-272"> long intendedUsage = getRefillIntervalAdjustedLimit(limit);</span>
+<span class="source-line-no">273</span><span id="line-273"> if (intendedUsage > 0) {</span>
+<span class="source-line-no">274</span><span id="line-274"> long consumed = lastIntervalConsumed.get();</span>
+<span class="source-line-no">275</span><span id="line-275"> if (consumed > 0) {</span>
+<span class="source-line-no">276</span><span id="line-276"> double util = (double) consumed / intendedUsage;</span>
+<span class="source-line-no">277</span><span id="line-277"> utilizationEma = emaAlpha * util + (1.0 - emaAlpha) * utilizationEma;</span>
+<span class="source-line-no">278</span><span id="line-278"> }</span>
+<span class="source-line-no">279</span><span id="line-279"> }</span>
+<span class="source-line-no">280</span><span id="line-280"></span>
+<span class="source-line-no">281</span><span id="line-281"> if (hadContentionThisInterval) {</span>
+<span class="source-line-no">282</span><span id="line-282"> currentBackoffMultiplier.set(Math</span>
+<span class="source-line-no">283</span><span id="line-283"> .min(currentBackoffMultiplier.get() + backoffMultiplierIncrement, maxBackoffMultiplier));</span>
+<span class="source-line-no">284</span><span id="line-284"> } else {</span>
+<span class="source-line-no">285</span><span id="line-285"> currentBackoffMultiplier</span>
+<span class="source-line-no">286</span><span id="line-286"> .set(Math.max(currentBackoffMultiplier.get() - backoffMultiplierDecrement, 1.0));</span>
+<span class="source-line-no">287</span><span id="line-287"> }</span>
+<span class="source-line-no">288</span><span id="line-288"></span>
+<span class="source-line-no">289</span><span id="line-289"> double avgUtil = utilizationEma;</span>
+<span class="source-line-no">290</span><span id="line-290"> if (avgUtil < minTargetUtilization) {</span>
+<span class="source-line-no">291</span><span id="line-291"> oversubscriptionProportion.set(Math</span>
+<span class="source-line-no">292</span><span id="line-292"> .min(oversubscriptionProportion.get() + oversubscriptionIncrement, maxOversubscription));</span>
+<span class="source-line-no">293</span><span id="line-293"> } else if (avgUtil >= maxTargetUtilization) {</span>
+<span class="source-line-no">294</span><span id="line-294"> oversubscriptionProportion</span>
+<span class="source-line-no">295</span><span id="line-295"> .set(Math.max(oversubscriptionProportion.get() - oversubscriptionDecrement, 0.0));</span>
+<span class="source-line-no">296</span><span id="line-296"> }</span>
+<span class="source-line-no">297</span><span id="line-297"></span>
+<span class="source-line-no">298</span><span id="line-298"> hadContentionThisInterval = false;</span>
+<span class="source-line-no">299</span><span id="line-299"> lastIntervalConsumed.set(0);</span>
+<span class="source-line-no">300</span><span id="line-300"></span>
+<span class="source-line-no">301</span><span id="line-301"> long refillAmount = refills * getRefillIntervalAdjustedLimit(limit);</span>
+<span class="source-line-no">302</span><span id="line-302"> long maxRefill = getOversubscribedLimit(limit);</span>
+<span class="source-line-no">303</span><span id="line-303"> return Math.min(maxRefill, refillAmount);</span>
+<span class="source-line-no">304</span><span id="line-304"> }</span>
+<span class="source-line-no">305</span><span id="line-305"></span>
+<span class="source-line-no">306</span><span id="line-306"> private long getOversubscribedLimit(long limit) {</span>
+<span class="source-line-no">307</span><span id="line-307"> return limit + (long) (limit * oversubscriptionProportion.get());</span>
+<span class="source-line-no">308</span><span id="line-308"> }</span>
+<span class="source-line-no">309</span><span id="line-309"></span>
+<span class="source-line-no">310</span><span id="line-310"> @Override</span>
+<span class="source-line-no">311</span><span id="line-311"> public void consume(long amount) {</span>
+<span class="source-line-no">312</span><span id="line-312"> super.consume(amount);</span>
+<span class="source-line-no">313</span><span id="line-313"> lastIntervalConsumed.addAndGet(amount);</span>
+<span class="source-line-no">314</span><span id="line-314"> }</span>
+<span class="source-line-no">315</span><span id="line-315"></span>
+<span class="source-line-no">316</span><span id="line-316"> @Override</span>
+<span class="source-line-no">317</span><span id="line-317"> public long getWaitInterval(long limit, long available, long amount) {</span>
+<span class="source-line-no">318</span><span id="line-318"> limit = getRefillIntervalAdjustedLimit(limit);</span>
+<span class="source-line-no">319</span><span id="line-319"> if (nextRefillTime == -1) {</span>
+<span class="source-line-no">320</span><span id="line-320"> return 0;</span>
+<span class="source-line-no">321</span><span id="line-321"> }</span>
+<span class="source-line-no">322</span><span id="line-322"></span>
+<span class="source-line-no">323</span><span id="line-323"> final long now = EnvironmentEdgeManager.currentTime();</span>
+<span class="source-line-no">324</span><span id="line-324"> final long refillTime = nextRefillTime;</span>
+<span class="source-line-no">325</span><span id="line-325"> long diff = amount - available;</span>
+<span class="source-line-no">326</span><span id="line-326"> if (diff > 0) {</span>
+<span class="source-line-no">327</span><span id="line-327"> hadContentionThisInterval = true;</span>
+<span class="source-line-no">328</span><span id="line-328"> }</span>
+<span class="source-line-no">329</span><span id="line-329"></span>
+<span class="source-line-no">330</span><span id="line-330"> long nextInterval = refillTime - now;</span>
+<span class="source-line-no">331</span><span id="line-331"> if (diff <= limit) {</span>
+<span class="source-line-no">332</span><span id="line-332"> return applyBackoffMultiplier(nextInterval);</span>
+<span class="source-line-no">333</span><span id="line-333"> }</span>
+<span class="source-line-no">334</span><span id="line-334"></span>
+<span class="source-line-no">335</span><span id="line-335"> long extra = diff / limit;</span>
+<span class="source-line-no">336</span><span id="line-336"> if (diff % limit == 0) {</span>
+<span class="source-line-no">337</span><span id="line-337"> extra--;</span>
+<span class="source-line-no">338</span><span id="line-338"> }</span>
+<span class="source-line-no">339</span><span id="line-339"> long baseWait = nextInterval + (extra * refillInterval);</span>
+<span class="source-line-no">340</span><span id="line-340"> return applyBackoffMultiplier(baseWait);</span>
+<span class="source-line-no">341</span><span id="line-341"> }</span>
+<span class="source-line-no">342</span><span id="line-342"></span>
+<span class="source-line-no">343</span><span id="line-343"> private long getRefillIntervalAdjustedLimit(long limit) {</span>
+<span class="source-line-no">344</span><span id="line-344"> return (long) Math.ceil(refillInterval / (double) getTimeUnitInMillis() * limit);</span>
+<span class="source-line-no">345</span><span id="line-345"> }</span>
+<span class="source-line-no">346</span><span id="line-346"></span>
+<span class="source-line-no">347</span><span id="line-347"> private long applyBackoffMultiplier(long baseWaitInterval) {</span>
+<span class="source-line-no">348</span><span id="line-348"> return (long) (baseWaitInterval * currentBackoffMultiplier.get());</span>
+<span class="source-line-no">349</span><span id="line-349"> }</span>
+<span class="source-line-no">350</span><span id="line-350"></span>
+<span class="source-line-no">351</span><span id="line-351"> // strictly for testing</span>
+<span class="source-line-no">352</span><span id="line-352"> @Override</span>
+<span class="source-line-no">353</span><span id="line-353"> public void setNextRefillTime(long nextRefillTime) {</span>
+<span class="source-line-no">354</span><span id="line-354"> this.nextRefillTime = nextRefillTime;</span>
+<span class="source-line-no">355</span><span id="line-355"> }</span>
+<span class="source-line-no">356</span><span id="line-356"></span>
+<span class="source-line-no">357</span><span id="line-357"> @Override</span>
+<span class="source-line-no">358</span><span id="line-358"> public long getNextRefillTime() {</span>
+<span class="source-line-no">359</span><span id="line-359"> return this.nextRefillTime;</span>
+<span class="source-line-no">360</span><span id="line-360"> }</span>
+<span class="source-line-no">361</span><span id="line-361">}</span>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</main>
+</body>
+</html>
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.Type.html b/apidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.Type.html
index a13b60c5152..be9d53e875f 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.Type.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.Type.html
@@ -218,7 +218,18 @@
<span class="source-line-no">205</span><span id="line-205"> }</span>
<span class="source-line-no">206</span><span id="line-206"> return -1;</span>
<span class="source-line-no">207</span><span id="line-207"> }</span>
-<span class="source-line-no">208</span><span id="line-208">}</span>
+<span class="source-line-no">208</span><span id="line-208"></span>
+<span class="source-line-no">209</span><span id="line-209"> /**</span>
+<span class="source-line-no">210</span><span id="line-210"> * There is little value in an RpcThrottlingException having a stack trace, since its cause is</span>
+<span class="source-line-no">211</span><span id="line-211"> * well understood without one. When a RegionServer is under heavy load and needs to serve many</span>
+<span class="source-line-no">212</span><span id="line-212"> * RpcThrottlingExceptions, skipping fillInStackTrace() will save CPU time and allocations, both</span>
+<span class="source-line-no">213</span><span id="line-213"> * here and later when the exception must be serialized over the wire.</span>
+<span class="source-line-no">214</span><span id="line-214"> */</span>
+<span class="source-line-no">215</span><span id="line-215"> @Override</span>
+<span class="source-line-no">216</span><span id="line-216"> public synchronized Throwable fillInStackTrace() {</span>
+<span class="source-line-no">217</span><span id="line-217"> return this;</span>
+<span class="source-line-no">218</span><span id="line-218"> }</span>
+<span class="source-line-no">219</span><span id="line-219">}</span>
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.html b/apidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.html
index 7cbc6b337d8..aa1cf99f1ac 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.html
@@ -218,7 +218,18 @@
<span class="source-line-no">205</span><span id="line-205"> }</span>
<span class="source-line-no">206</span><span id="line-206"> return -1;</span>
<span class="source-line-no">207</span><span id="line-207"> }</span>
-<span class="source-line-no">208</span><span id="line-208">}</span>
+<span class="source-line-no">208</span><span id="line-208"></span>
+<span class="source-line-no">209</span><span id="line-209"> /**</span>
+<span class="source-line-no">210</span><span id="line-210"> * There is little value in an RpcThrottlingException having a stack trace, since its cause is</span>
+<span class="source-line-no">211</span><span id="line-211"> * well understood without one. When a RegionServer is under heavy load and needs to serve many</span>
+<span class="source-line-no">212</span><span id="line-212"> * RpcThrottlingExceptions, skipping fillInStackTrace() will save CPU time and allocations, both</span>
+<span class="source-line-no">213</span><span id="line-213"> * here and later when the exception must be serialized over the wire.</span>
+<span class="source-line-no">214</span><span id="line-214"> */</span>
+<span class="source-line-no">215</span><span id="line-215"> @Override</span>
+<span class="source-line-no">216</span><span id="line-216"> public synchronized Throwable fillInStackTrace() {</span>
+<span class="source-line-no">217</span><span id="line-217"> return this;</span>
+<span class="source-line-no">218</span><span id="line-218"> }</span>
+<span class="source-line-no">219</span><span id="line-219">}</span>
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html b/apidocs/src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html
index 0568a563e78..88e30f1fede 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html
@@ -59,362 +59,377 @@
<span class="source-line-no">046</span><span id="line-46"> private RateLimiter reqHandlerUsageTimeLimiter = null;</span>
<span class="source-line-no">047</span><span id="line-47"></span>
<span class="source-line-no">048</span><span id="line-48"> private TimeBasedLimiter(Configuration conf) {</span>
-<span class="source-line-no">049</span><span id="line-49"> if (</span>
-<span class="source-line-no">050</span><span id="line-50"> FixedIntervalRateLimiter.class.getName().equals(</span>
-<span class="source-line-no">051</span><span id="line-51"> conf.getClass(RateLimiter.QUOTA_RATE_LIMITER_CONF_KEY, AverageIntervalRateLimiter.class)</span>
-<span class="source-line-no">052</span><span id="line-52"> .getName())</span>
-<span class="source-line-no">053</span><span id="line-53"> ) {</span>
-<span class="source-line-no">054</span><span id="line-54"> long refillInterval = conf.getLong(FixedIntervalRateLimiter.RATE_LIMITER_REFILL_INTERVAL_MS,</span>
-<span class="source-line-no">055</span><span id="line-55"> RateLimiter.DEFAULT_TIME_UNIT);</span>
-<span class="source-line-no">056</span><span id="line-56"> reqsLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">057</span><span id="line-57"> reqSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">058</span><span id="line-58"> writeReqsLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">059</span><span id="line-59"> writeSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">060</span><span id="line-60"> readReqsLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">061</span><span id="line-61"> readSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">062</span><span id="line-62"> reqCapacityUnitLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">063</span><span id="line-63"> writeCapacityUnitLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">064</span><span id="line-64"> readCapacityUnitLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">065</span><span id="line-65"> atomicReqLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">066</span><span id="line-66"> atomicReadSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">067</span><span id="line-67"> atomicWriteSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">068</span><span id="line-68"> reqHandlerUsageTimeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">069</span><span id="line-69"> } else {</span>
-<span class="source-line-no">070</span><span id="line-70"> reqsLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">071</span><span id="line-71"> reqSizeLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">072</span><span id="line-72"> writeReqsLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">073</span><span id="line-73"> writeSizeLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">074</span><span id="line-74"> readReqsLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">075</span><span id="line-75"> readSizeLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">076</span><span id="line-76"> reqCapacityUnitLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">077</span><span id="line-77"> writeCapacityUnitLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">078</span><span id="line-78"> readCapacityUnitLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">079</span><span id="line-79"> atomicReqLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">080</span><span id="line-80"> atomicReadSizeLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">081</span><span id="line-81"> atomicWriteSizeLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">082</span><span id="line-82"> reqHandlerUsageTimeLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">083</span><span id="line-83"> }</span>
-<span class="source-line-no">084</span><span id="line-84"> }</span>
-<span class="source-line-no">085</span><span id="line-85"></span>
-<span class="source-line-no">086</span><span id="line-86"> static QuotaLimiter fromThrottle(Configuration conf, final Throttle throttle) {</span>
-<span class="source-line-no">087</span><span id="line-87"> TimeBasedLimiter limiter = new TimeBasedLimiter(conf);</span>
-<span class="source-line-no">088</span><span id="line-88"> boolean isBypass = true;</span>
-<span class="source-line-no">089</span><span id="line-89"> if (throttle.hasReqNum()) {</span>
-<span class="source-line-no">090</span><span id="line-90"> setFromTimedQuota(limiter.reqsLimiter, throttle.getReqNum());</span>
-<span class="source-line-no">091</span><span id="line-91"> isBypass = false;</span>
-<span class="source-line-no">092</span><span id="line-92"> }</span>
-<span class="source-line-no">093</span><span id="line-93"></span>
-<span class="source-line-no">094</span><span id="line-94"> if (throttle.hasReqSize()) {</span>
-<span class="source-line-no">095</span><span id="line-95"> setFromTimedQuota(limiter.reqSizeLimiter, throttle.getReqSize());</span>
-<span class="source-line-no">096</span><span id="line-96"> isBypass = false;</span>
-<span class="source-line-no">097</span><span id="line-97"> }</span>
-<span class="source-line-no">098</span><span id="line-98"></span>
-<span class="source-line-no">099</span><span id="line-99"> if (throttle.hasWriteNum()) {</span>
-<span class="source-line-no">100</span><span id="line-100"> setFromTimedQuota(limiter.writeReqsLimiter, throttle.getWriteNum());</span>
-<span class="source-line-no">101</span><span id="line-101"> isBypass = false;</span>
-<span class="source-line-no">102</span><span id="line-102"> }</span>
-<span class="source-line-no">103</span><span id="line-103"></span>
-<span class="source-line-no">104</span><span id="line-104"> if (throttle.hasWriteSize()) {</span>
-<span class="source-line-no">105</span><span id="line-105"> setFromTimedQuota(limiter.writeSizeLimiter, throttle.getWriteSize());</span>
+<span class="source-line-no">049</span><span id="line-49"> String limiterClassName =</span>
+<span class="source-line-no">050</span><span id="line-50"> conf.getClass(RateLimiter.QUOTA_RATE_LIMITER_CONF_KEY, AverageIntervalRateLimiter.class)</span>
+<span class="source-line-no">051</span><span id="line-51"> .getName();</span>
+<span class="source-line-no">052</span><span id="line-52"> if (FixedIntervalRateLimiter.class.getName().equals(limiterClassName)) {</span>
+<span class="source-line-no">053</span><span id="line-53"> long refillInterval = conf.getLong(FixedIntervalRateLimiter.RATE_LIMITER_REFILL_INTERVAL_MS,</span>
+<span class="source-line-no">054</span><span id="line-54"> RateLimiter.DEFAULT_TIME_UNIT);</span>
+<span class="source-line-no">055</span><span id="line-55"> reqsLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">056</span><span id="line-56"> reqSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">057</span><span id="line-57"> writeReqsLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">058</span><span id="line-58"> writeSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">059</span><span id="line-59"> readReqsLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">060</span><span id="line-60"> readSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">061</span><span id="line-61"> reqCapacityUnitLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">062</span><span id="line-62"> writeCapacityUnitLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">063</span><span id="line-63"> readCapacityUnitLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">064</span><span id="line-64"> atomicReqLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">065</span><span id="line-65"> atomicReadSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">066</span><span id="line-66"> atomicWriteSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">067</span><span id="line-67"> reqHandlerUsageTimeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">068</span><span id="line-68"> } else if (FeedbackAdaptiveRateLimiter.class.getName().equals(limiterClassName)) {</span>
+<span class="source-line-no">069</span><span id="line-69"> FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory feedbackLimiterFactory =</span>
+<span class="source-line-no">070</span><span id="line-70"> new FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory(conf);</span>
+<span class="source-line-no">071</span><span id="line-71"> reqsLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">072</span><span id="line-72"> reqSizeLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">073</span><span id="line-73"> writeReqsLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">074</span><span id="line-74"> writeSizeLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">075</span><span id="line-75"> readReqsLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">076</span><span id="line-76"> readSizeLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">077</span><span id="line-77"> reqCapacityUnitLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">078</span><span id="line-78"> writeCapacityUnitLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">079</span><span id="line-79"> readCapacityUnitLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">080</span><span id="line-80"> atomicReqLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">081</span><span id="line-81"> atomicReadSizeLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">082</span><span id="line-82"> atomicWriteSizeLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">083</span><span id="line-83"> reqHandlerUsageTimeLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">084</span><span id="line-84"> } else {</span>
+<span class="source-line-no">085</span><span id="line-85"> reqsLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">086</span><span id="line-86"> reqSizeLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">087</span><span id="line-87"> writeReqsLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">088</span><span id="line-88"> writeSizeLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">089</span><span id="line-89"> readReqsLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">090</span><span id="line-90"> readSizeLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">091</span><span id="line-91"> reqCapacityUnitLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">092</span><span id="line-92"> writeCapacityUnitLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">093</span><span id="line-93"> readCapacityUnitLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">094</span><span id="line-94"> atomicReqLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">095</span><span id="line-95"> atomicReadSizeLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">096</span><span id="line-96"> atomicWriteSizeLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">097</span><span id="line-97"> reqHandlerUsageTimeLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">098</span><span id="line-98"> }</span>
+<span class="source-line-no">099</span><span id="line-99"> }</span>
+<span class="source-line-no">100</span><span id="line-100"></span>
+<span class="source-line-no">101</span><span id="line-101"> static QuotaLimiter fromThrottle(Configuration conf, final Throttle throttle) {</span>
+<span class="source-line-no">102</span><span id="line-102"> TimeBasedLimiter limiter = new TimeBasedLimiter(conf);</span>
+<span class="source-line-no">103</span><span id="line-103"> boolean isBypass = true;</span>
+<span class="source-line-no">104</span><span id="line-104"> if (throttle.hasReqNum()) {</span>
+<span class="source-line-no">105</span><span id="line-105"> setFromTimedQuota(limiter.reqsLimiter, throttle.getReqNum());</span>
<span class="source-line-no">106</span><span id="line-106"> isBypass = false;</span>
<span class="source-line-no">107</span><span id="line-107"> }</span>
<span class="source-line-no">108</span><span id="line-108"></span>
-<span class="source-line-no">109</span><span id="line-109"> if (throttle.hasReadNum()) {</span>
-<span class="source-line-no">110</span><span id="line-110"> setFromTimedQuota(limiter.readReqsLimiter, throttle.getReadNum());</span>
+<span class="source-line-no">109</span><span id="line-109"> if (throttle.hasReqSize()) {</span>
+<span class="source-line-no">110</span><span id="line-110"> setFromTimedQuota(limiter.reqSizeLimiter, throttle.getReqSize());</span>
<span class="source-line-no">111</span><span id="line-111"> isBypass = false;</span>
<span class="source-line-no">112</span><span id="line-112"> }</span>
<span class="source-line-no">113</span><span id="line-113"></span>
-<span class="source-line-no">114</span><span id="line-114"> if (throttle.hasReadSize()) {</span>
-<span class="source-line-no">115</span><span id="line-115"> setFromTimedQuota(limiter.readSizeLimiter, throttle.getReadSize());</span>
+<span class="source-line-no">114</span><span id="line-114"> if (throttle.hasWriteNum()) {</span>
+<span class="source-line-no">115</span><span id="line-115"> setFromTimedQuota(limiter.writeReqsLimiter, throttle.getWriteNum());</span>
<span class="source-line-no">116</span><span id="line-116"> isBypass = false;</span>
<span class="source-line-no">117</span><span id="line-117"> }</span>
<span class="source-line-no">118</span><span id="line-118"></span>
-<span class="source-line-no">119</span><span id="line-119"> if (throttle.hasReqCapacityUnit()) {</span>
-<span class="source-line-no">120</span><span id="line-120"> setFromTimedQuota(limiter.reqCapacityUnitLimiter, throttle.getReqCapacityUnit());</span>
+<span class="source-line-no">119</span><span id="line-119"> if (throttle.hasWriteSize()) {</span>
+<span class="source-line-no">120</span><span id="line-120"> setFromTimedQuota(limiter.writeSizeLimiter, throttle.getWriteSize());</span>
<span class="source-line-no">121</span><span id="line-121"> isBypass = false;</span>
<span class="source-line-no">122</span><span id="line-122"> }</span>
<span class="source-line-no">123</span><span id="line-123"></span>
-<span class="source-line-no">124</span><span id="line-124"> if (throttle.hasWriteCapacityUnit()) {</span>
-<span class="source-line-no">125</span><span id="line-125"> setFromTimedQuota(limiter.writeCapacityUnitLimiter, throttle.getWriteCapacityUnit());</span>
+<span class="source-line-no">124</span><span id="line-124"> if (throttle.hasReadNum()) {</span>
+<span class="source-line-no">125</span><span id="line-125"> setFromTimedQuota(limiter.readReqsLimiter, throttle.getReadNum());</span>
<span class="source-line-no">126</span><span id="line-126"> isBypass = false;</span>
<span class="source-line-no">127</span><span id="line-127"> }</span>
<span class="source-line-no">128</span><span id="line-128"></span>
-<span class="source-line-no">129</span><span id="line-129"> if (throttle.hasReadCapacityUnit()) {</span>
-<span class="source-line-no">130</span><span id="line-130"> setFromTimedQuota(limiter.readCapacityUnitLimiter, throttle.getReadCapacityUnit());</span>
+<span class="source-line-no">129</span><span id="line-129"> if (throttle.hasReadSize()) {</span>
+<span class="source-line-no">130</span><span id="line-130"> setFromTimedQuota(limiter.readSizeLimiter, throttle.getReadSize());</span>
<span class="source-line-no">131</span><span id="line-131"> isBypass = false;</span>
<span class="source-line-no">132</span><span id="line-132"> }</span>
<span class="source-line-no">133</span><span id="line-133"></span>
-<span class="source-line-no">134</span><span id="line-134"> if (throttle.hasAtomicReqNum()) {</span>
-<span class="source-line-no">135</span><span id="line-135"> setFromTimedQuota(limiter.atomicReqLimiter, throttle.getAtomicReqNum());</span>
+<span class="source-line-no">134</span><span id="line-134"> if (throttle.hasReqCapacityUnit()) {</span>
+<span class="source-line-no">135</span><span id="line-135"> setFromTimedQuota(limiter.reqCapacityUnitLimiter, throttle.getReqCapacityUnit());</span>
<span class="source-line-no">136</span><span id="line-136"> isBypass = false;</span>
<span class="source-line-no">137</span><span id="line-137"> }</span>
<span class="source-line-no">138</span><span id="line-138"></span>
-<span class="source-line-no">139</span><span id="line-139"> if (throttle.hasAtomicReadSize()) {</span>
-<span class="source-line-no">140</span><span id="line-140"> setFromTimedQuota(limiter.atomicReadSizeLimiter, throttle.getAtomicReadSize());</span>
+<span class="source-line-no">139</span><span id="line-139"> if (throttle.hasWriteCapacityUnit()) {</span>
+<span class="source-line-no">140</span><span id="line-140"> setFromTimedQuota(limiter.writeCapacityUnitLimiter, throttle.getWriteCapacityUnit());</span>
<span class="source-line-no">141</span><span id="line-141"> isBypass = false;</span>
<span class="source-line-no">142</span><span id="line-142"> }</span>
<span class="source-line-no">143</span><span id="line-143"></span>
-<span class="source-line-no">144</span><span id="line-144"> if (throttle.hasAtomicWriteSize()) {</span>
-<span class="source-line-no">145</span><span id="line-145"> setFromTimedQuota(limiter.atomicWriteSizeLimiter, throttle.getAtomicWriteSize());</span>
+<span class="source-line-no">144</span><span id="line-144"> if (throttle.hasReadCapacityUnit()) {</span>
+<span class="source-line-no">145</span><span id="line-145"> setFromTimedQuota(limiter.readCapacityUnitLimiter, throttle.getReadCapacityUnit());</span>
<span class="source-line-no">146</span><span id="line-146"> isBypass = false;</span>
<span class="source-line-no">147</span><span id="line-147"> }</span>
<span class="source-line-no">148</span><span id="line-148"></span>
-<span class="source-line-no">149</span><span id="line-149"> if (throttle.hasReqHandlerUsageMs()) {</span>
-<span class="source-line-no">150</span><span id="line-150"> setFromTimedQuota(limiter.reqHandlerUsageTimeLimiter, throttle.getReqHandlerUsageMs());</span>
+<span class="source-line-no">149</span><span id="line-149"> if (throttle.hasAtomicReqNum()) {</span>
+<span class="source-line-no">150</span><span id="line-150"> setFromTimedQuota(limiter.atomicReqLimiter, throttle.getAtomicReqNum());</span>
<span class="source-line-no">151</span><span id="line-151"> isBypass = false;</span>
<span class="source-line-no">152</span><span id="line-152"> }</span>
<span class="source-line-no">153</span><span id="line-153"></span>
-<span class="source-line-no">154</span><span id="line-154"> return isBypass ? NoopQuotaLimiter.get() : limiter;</span>
-<span class="source-line-no">155</span><span id="line-155"> }</span>
-<span class="source-line-no">156</span><span id="line-156"></span>
-<span class="source-line-no">157</span><span id="line-157"> public void update(final TimeBasedLimiter other) {</span>
-<span class="source-line-no">158</span><span id="line-158"> reqsLimiter.update(other.reqsLimiter);</span>
-<span class="source-line-no">159</span><span id="line-159"> reqSizeLimiter.update(other.reqSizeLimiter);</span>
-<span class="source-line-no">160</span><span id="line-160"> writeReqsLimiter.update(other.writeReqsLimiter);</span>
-<span class="source-line-no">161</span><span id="line-161"> writeSizeLimiter.update(other.writeSizeLimiter);</span>
-<span class="source-line-no">162</span><span id="line-162"> readReqsLimiter.update(other.readReqsLimiter);</span>
-<span class="source-line-no">163</span><span id="line-163"> readSizeLimiter.update(other.readSizeLimiter);</span>
-<span class="source-line-no">164</span><span id="line-164"> reqCapacityUnitLimiter.update(other.reqCapacityUnitLimiter);</span>
-<span class="source-line-no">165</span><span id="line-165"> writeCapacityUnitLimiter.update(other.writeCapacityUnitLimiter);</span>
-<span class="source-line-no">166</span><span id="line-166"> readCapacityUnitLimiter.update(other.readCapacityUnitLimiter);</span>
-<span class="source-line-no">167</span><span id="line-167"> atomicReqLimiter.update(other.atomicReqLimiter);</span>
-<span class="source-line-no">168</span><span id="line-168"> atomicReadSizeLimiter.update(other.atomicReadSizeLimiter);</span>
-<span class="source-line-no">169</span><span id="line-169"> atomicWriteSizeLimiter.update(other.atomicWriteSizeLimiter);</span>
-<span class="source-line-no">170</span><span id="line-170"> reqHandlerUsageTimeLimiter.update(other.reqHandlerUsageTimeLimiter);</span>
-<span class="source-line-no">171</span><span id="line-171"> }</span>
-<span class="source-line-no">172</span><span id="line-172"></span>
-<span class="source-line-no">173</span><span id="line-173"> private static void setFromTimedQuota(final RateLimiter limiter, final TimedQuota timedQuota) {</span>
-<span class="source-line-no">174</span><span id="line-174"> limiter.set(timedQuota.getSoftLimit(), ProtobufUtil.toTimeUnit(timedQuota.getTimeUnit()));</span>
-<span class="source-line-no">175</span><span id="line-175"> }</span>
-<span class="source-line-no">176</span><span id="line-176"></span>
-<span class="source-line-no">177</span><span id="line-177"> @Override</span>
-<span class="source-line-no">178</span><span id="line-178"> public void checkQuota(long writeReqs, long estimateWriteSize, long readReqs,</span>
-<span class="source-line-no">179</span><span id="line-179"> long estimateReadSize, long estimateWriteCapacityUnit, long estimateReadCapacityUnit,</span>
-<span class="source-line-no">180</span><span id="line-180"> boolean isAtomic, long estimatedReqHandlerUsageTimeMs) throws RpcThrottlingException {</span>
-<span class="source-line-no">181</span><span id="line-181"> long waitInterval = reqsLimiter.getWaitIntervalMs(writeReqs + readReqs);</span>
-<span class="source-line-no">182</span><span id="line-182"> if (waitInterval > 0) {</span>
-<span class="source-line-no">183</span><span id="line-183"> RpcThrottlingException.throwNumRequestsExceeded(waitInterval);</span>
-<span class="source-line-no">184</span><span id="line-184"> }</span>
-<span class="source-line-no">185</span><span id="line-185"> waitInterval = reqSizeLimiter.getWaitIntervalMs(estimateWriteSize + estimateReadSize);</span>
-<span class="source-line-no">186</span><span id="line-186"> if (waitInterval > 0) {</span>
-<span class="source-line-no">187</span><span id="line-187"> RpcThrottlingException.throwRequestSizeExceeded(waitInterval);</span>
-<span class="source-line-no">188</span><span id="line-188"> }</span>
-<span class="source-line-no">189</span><span id="line-189"> waitInterval = reqCapacityUnitLimiter</span>
-<span class="source-line-no">190</span><span id="line-190"> .getWaitIntervalMs(estimateWriteCapacityUnit + estimateReadCapacityUnit);</span>
-<span class="source-line-no">191</span><span id="line-191"> if (waitInterval > 0) {</span>
-<span class="source-line-no">192</span><span id="line-192"> RpcThrottlingException.throwRequestCapacityUnitExceeded(waitInterval);</span>
-<span class="source-line-no">193</span><span id="line-193"> }</span>
-<span class="source-line-no">194</span><span id="line-194"> if (isAtomic) {</span>
-<span class="source-line-no">195</span><span id="line-195"> waitInterval = atomicReqLimiter.getWaitIntervalMs(writeReqs + readReqs);</span>
-<span class="source-line-no">196</span><span id="line-196"> if (waitInterval > 0) {</span>
-<span class="source-line-no">197</span><span id="line-197"> RpcThrottlingException.throwAtomicRequestNumberExceeded(waitInterval);</span>
-<span class="source-line-no">198</span><span id="line-198"> }</span>
+<span class="source-line-no">154</span><span id="line-154"> if (throttle.hasAtomicReadSize()) {</span>
+<span class="source-line-no">155</span><span id="line-155"> setFromTimedQuota(limiter.atomicReadSizeLimiter, throttle.getAtomicReadSize());</span>
+<span class="source-line-no">156</span><span id="line-156"> isBypass = false;</span>
+<span class="source-line-no">157</span><span id="line-157"> }</span>
+<span class="source-line-no">158</span><span id="line-158"></span>
+<span class="source-line-no">159</span><span id="line-159"> if (throttle.hasAtomicWriteSize()) {</span>
+<span class="source-line-no">160</span><span id="line-160"> setFromTimedQuota(limiter.atomicWriteSizeLimiter, throttle.getAtomicWriteSize());</span>
+<span class="source-line-no">161</span><span id="line-161"> isBypass = false;</span>
+<span class="source-line-no">162</span><span id="line-162"> }</span>
+<span class="source-line-no">163</span><span id="line-163"></span>
+<span class="source-line-no">164</span><span id="line-164"> if (throttle.hasReqHandlerUsageMs()) {</span>
+<span class="source-line-no">165</span><span id="line-165"> setFromTimedQuota(limiter.reqHandlerUsageTimeLimiter, throttle.getReqHandlerUsageMs());</span>
+<span class="source-line-no">166</span><span id="line-166"> isBypass = false;</span>
+<span class="source-line-no">167</span><span id="line-167"> }</span>
+<span class="source-line-no">168</span><span id="line-168"></span>
+<span class="source-line-no">169</span><span id="line-169"> return isBypass ? NoopQuotaLimiter.get() : limiter;</span>
+<span class="source-line-no">170</span><span id="line-170"> }</span>
+<span class="source-line-no">171</span><span id="line-171"></span>
+<span class="source-line-no">172</span><span id="line-172"> public void update(final TimeBasedLimiter other) {</span>
+<span class="source-line-no">173</span><span id="line-173"> reqsLimiter.update(other.reqsLimiter);</span>
+<span class="source-line-no">174</span><span id="line-174"> reqSizeLimiter.update(other.reqSizeLimiter);</span>
+<span class="source-line-no">175</span><span id="line-175"> writeReqsLimiter.update(other.writeReqsLimiter);</span>
+<span class="source-line-no">176</span><span id="line-176"> writeSizeLimiter.update(other.writeSizeLimiter);</span>
+<span class="source-line-no">177</span><span id="line-177"> readReqsLimiter.update(other.readReqsLimiter);</span>
+<span class="source-line-no">178</span><span id="line-178"> readSizeLimiter.update(other.readSizeLimiter);</span>
+<span class="source-line-no">179</span><span id="line-179"> reqCapacityUnitLimiter.update(other.reqCapacityUnitLimiter);</span>
+<span class="source-line-no">180</span><span id="line-180"> writeCapacityUnitLimiter.update(other.writeCapacityUnitLimiter);</span>
+<span class="source-line-no">181</span><span id="line-181"> readCapacityUnitLimiter.update(other.readCapacityUnitLimiter);</span>
+<span class="source-line-no">182</span><span id="line-182"> atomicReqLimiter.update(other.atomicReqLimiter);</span>
+<span class="source-line-no">183</span><span id="line-183"> atomicReadSizeLimiter.update(other.atomicReadSizeLimiter);</span>
+<span class="source-line-no">184</span><span id="line-184"> atomicWriteSizeLimiter.update(other.atomicWriteSizeLimiter);</span>
+<span class="source-line-no">185</span><span id="line-185"> reqHandlerUsageTimeLimiter.update(other.reqHandlerUsageTimeLimiter);</span>
+<span class="source-line-no">186</span><span id="line-186"> }</span>
+<span class="source-line-no">187</span><span id="line-187"></span>
+<span class="source-line-no">188</span><span id="line-188"> private static void setFromTimedQuota(final RateLimiter limiter, final TimedQuota timedQuota) {</span>
+<span class="source-line-no">189</span><span id="line-189"> limiter.set(timedQuota.getSoftLimit(), ProtobufUtil.toTimeUnit(timedQuota.getTimeUnit()));</span>
+<span class="source-line-no">190</span><span id="line-190"> }</span>
+<span class="source-line-no">191</span><span id="line-191"></span>
+<span class="source-line-no">192</span><span id="line-192"> @Override</span>
+<span class="source-line-no">193</span><span id="line-193"> public void checkQuota(long writeReqs, long estimateWriteSize, long readReqs,</span>
+<span class="source-line-no">194</span><span id="line-194"> long estimateReadSize, long estimateWriteCapacityUnit, long estimateReadCapacityUnit,</span>
+<span class="source-line-no">195</span><span id="line-195"> boolean isAtomic, long estimatedReqHandlerUsageTimeMs) throws RpcThrottlingException {</span>
+<span class="source-line-no">196</span><span id="line-196"> long waitInterval = reqsLimiter.getWaitIntervalMs(writeReqs + readReqs);</span>
+<span class="source-line-no">197</span><span id="line-197"> if (waitInterval > 0) {</span>
+<span class="source-line-no">198</span><span id="line-198"> RpcThrottlingException.throwNumRequestsExceeded(waitInterval);</span>
<span class="source-line-no">199</span><span id="line-199"> }</span>
-<span class="source-line-no">200</span><span id="line-200"></span>
-<span class="source-line-no">201</span><span id="line-201"> if (estimateWriteSize > 0) {</span>
-<span class="source-line-no">202</span><span id="line-202"> waitInterval = writeReqsLimiter.getWaitIntervalMs(writeReqs);</span>
-<span class="source-line-no">203</span><span id="line-203"> if (waitInterval > 0) {</span>
-<span class="source-line-no">204</span><span id="line-204"> RpcThrottlingException.throwNumWriteRequestsExceeded(waitInterval);</span>
-<span class="source-line-no">205</span><span id="line-205"> }</span>
-<span class="source-line-no">206</span><span id="line-206"> waitInterval = writeSizeLimiter.getWaitIntervalMs(estimateWriteSize);</span>
-<span class="source-line-no">207</span><span id="line-207"> if (waitInterval > 0) {</span>
-<span class="source-line-no">208</span><span id="line-208"> RpcThrottlingException.throwWriteSizeExceeded(waitInterval);</span>
-<span class="source-line-no">209</span><span id="line-209"> }</span>
-<span class="source-line-no">210</span><span id="line-210"> waitInterval = writeCapacityUnitLimiter.getWaitIntervalMs(estimateWriteCapacityUnit);</span>
+<span class="source-line-no">200</span><span id="line-200"> waitInterval = reqSizeLimiter.getWaitIntervalMs(estimateWriteSize + estimateReadSize);</span>
+<span class="source-line-no">201</span><span id="line-201"> if (waitInterval > 0) {</span>
+<span class="source-line-no">202</span><span id="line-202"> RpcThrottlingException.throwRequestSizeExceeded(waitInterval);</span>
+<span class="source-line-no">203</span><span id="line-203"> }</span>
+<span class="source-line-no">204</span><span id="line-204"> waitInterval = reqCapacityUnitLimiter</span>
+<span class="source-line-no">205</span><span id="line-205"> .getWaitIntervalMs(estimateWriteCapacityUnit + estimateReadCapacityUnit);</span>
+<span class="source-line-no">206</span><span id="line-206"> if (waitInterval > 0) {</span>
+<span class="source-line-no">207</span><span id="line-207"> RpcThrottlingException.throwRequestCapacityUnitExceeded(waitInterval);</span>
+<span class="source-line-no">208</span><span id="line-208"> }</span>
+<span class="source-line-no">209</span><span id="line-209"> if (isAtomic) {</span>
+<span class="source-line-no">210</span><span id="line-210"> waitInterval = atomicReqLimiter.getWaitIntervalMs(writeReqs + readReqs);</span>
<span class="source-line-no">211</span><span id="line-211"> if (waitInterval > 0) {</span>
-<span class="source-line-no">212</span><span id="line-212"> RpcThrottlingException.throwWriteCapacityUnitExceeded(waitInterval);</span>
+<span class="source-line-no">212</span><span id="line-212"> RpcThrottlingException.throwAtomicRequestNumberExceeded(waitInterval);</span>
<span class="source-line-no">213</span><span id="line-213"> }</span>
-<span class="source-line-no">214</span><span id="line-214"> if (isAtomic) {</span>
-<span class="source-line-no">215</span><span id="line-215"> waitInterval = atomicWriteSizeLimiter.getWaitIntervalMs(writeReqs);</span>
-<span class="source-line-no">216</span><span id="line-216"> if (waitInterval > 0) {</span>
-<span class="source-line-no">217</span><span id="line-217"> RpcThrottlingException.throwAtomicWriteSizeExceeded(waitInterval);</span>
-<span class="source-line-no">218</span><span id="line-218"> }</span>
-<span class="source-line-no">219</span><span id="line-219"> }</span>
-<span class="source-line-no">220</span><span id="line-220"> }</span>
-<span class="source-line-no">221</span><span id="line-221"></span>
-<span class="source-line-no">222</span><span id="line-222"> if (estimateReadSize > 0) {</span>
-<span class="source-line-no">223</span><span id="line-223"> waitInterval = readReqsLimiter.getWaitIntervalMs(readReqs);</span>
-<span class="source-line-no">224</span><span id="line-224"> if (waitInterval > 0) {</span>
-<span class="source-line-no">225</span><span id="line-225"> RpcThrottlingException.throwNumReadRequestsExceeded(waitInterval);</span>
-<span class="source-line-no">226</span><span id="line-226"> }</span>
-<span class="source-line-no">227</span><span id="line-227"> waitInterval = readSizeLimiter.getWaitIntervalMs(estimateReadSize);</span>
-<span class="source-line-no">228</span><span id="line-228"> if (waitInterval > 0) {</span>
-<span class="source-line-no">229</span><span id="line-229"> RpcThrottlingException.throwReadSizeExceeded(waitInterval);</span>
-<span class="source-line-no">230</span><span id="line-230"> }</span>
-<span class="source-line-no">231</span><span id="line-231"> waitInterval = readCapacityUnitLimiter.getWaitIntervalMs(estimateReadCapacityUnit);</span>
-<span class="source-line-no">232</span><span id="line-232"> if (waitInterval > 0) {</span>
-<span class="source-line-no">233</span><span id="line-233"> RpcThrottlingException.throwReadCapacityUnitExceeded(waitInterval);</span>
+<span class="source-line-no">214</span><span id="line-214"> }</span>
+<span class="source-line-no">215</span><span id="line-215"></span>
+<span class="source-line-no">216</span><span id="line-216"> if (estimateWriteSize > 0) {</span>
+<span class="source-line-no">217</span><span id="line-217"> waitInterval = writeReqsLimiter.getWaitIntervalMs(writeReqs);</span>
+<span class="source-line-no">218</span><span id="line-218"> if (waitInterval > 0) {</span>
+<span class="source-line-no">219</span><span id="line-219"> RpcThrottlingException.throwNumWriteRequestsExceeded(waitInterval);</span>
+<span class="source-line-no">220</span><span id="line-220"> }</span>
+<span class="source-line-no">221</span><span id="line-221"> waitInterval = writeSizeLimiter.getWaitIntervalMs(estimateWriteSize);</span>
+<span class="source-line-no">222</span><span id="line-222"> if (waitInterval > 0) {</span>
+<span class="source-line-no">223</span><span id="line-223"> RpcThrottlingException.throwWriteSizeExceeded(waitInterval);</span>
+<span class="source-line-no">224</span><span id="line-224"> }</span>
+<span class="source-line-no">225</span><span id="line-225"> waitInterval = writeCapacityUnitLimiter.getWaitIntervalMs(estimateWriteCapacityUnit);</span>
+<span class="source-line-no">226</span><span id="line-226"> if (waitInterval > 0) {</span>
+<span class="source-line-no">227</span><span id="line-227"> RpcThrottlingException.throwWriteCapacityUnitExceeded(waitInterval);</span>
+<span class="source-line-no">228</span><span id="line-228"> }</span>
+<span class="source-line-no">229</span><span id="line-229"> if (isAtomic) {</span>
+<span class="source-line-no">230</span><span id="line-230"> waitInterval = atomicWriteSizeLimiter.getWaitIntervalMs(writeReqs);</span>
+<span class="source-line-no">231</span><span id="line-231"> if (waitInterval > 0) {</span>
+<span class="source-line-no">232</span><span id="line-232"> RpcThrottlingException.throwAtomicWriteSizeExceeded(waitInterval);</span>
+<span class="source-line-no">233</span><span id="line-233"> }</span>
<span class="source-line-no">234</span><span id="line-234"> }</span>
-<span class="source-line-no">235</span><span id="line-235"> if (isAtomic) {</span>
-<span class="source-line-no">236</span><span id="line-236"> waitInterval = atomicReadSizeLimiter.getWaitIntervalMs(writeReqs + readReqs);</span>
-<span class="source-line-no">237</span><span id="line-237"> if (waitInterval > 0) {</span>
-<span class="source-line-no">238</span><span id="line-238"> RpcThrottlingException.throwAtomicReadSizeExceeded(waitInterval);</span>
-<span class="source-line-no">239</span><span id="line-239"> }</span>
-<span class="source-line-no">240</span><span id="line-240"> }</span>
-<span class="source-line-no">241</span><span id="line-241"> }</span>
-<span class="source-line-no">242</span><span id="line-242"> waitInterval = reqHandlerUsageTimeLimiter.getWaitIntervalMs(estimatedReqHandlerUsageTimeMs);</span>
-<span class="source-line-no">243</span><span id="line-243"> if (waitInterval > 0) {</span>
-<span class="source-line-no">244</span><span id="line-244"> RpcThrottlingException.throwRequestHandlerUsageTimeExceeded(waitInterval);</span>
-<span class="source-line-no">245</span><span id="line-245"> }</span>
-<span class="source-line-no">246</span><span id="line-246"> }</span>
-<span class="source-line-no">247</span><span id="line-247"></span>
-<span class="source-line-no">248</span><span id="line-248"> @Override</span>
-<span class="source-line-no">249</span><span id="line-249"> public void grabQuota(long writeReqs, long writeSize, long readReqs, long readSize,</span>
-<span class="source-line-no">250</span><span id="line-250"> long writeCapacityUnit, long readCapacityUnit, boolean isAtomic,</span>
-<span class="source-line-no">251</span><span id="line-251"> long estimateHandlerThreadUsageMs) {</span>
-<span class="source-line-no">252</span><span id="line-252"> assert writeSize != 0 || readSize != 0;</span>
-<span class="source-line-no">253</span><span id="line-253"></span>
-<span class="source-line-no">254</span><span id="line-254"> reqsLimiter.consume(writeReqs + readReqs);</span>
-<span class="source-line-no">255</span><span id="line-255"> reqSizeLimiter.consume(writeSize + readSize);</span>
-<span class="source-line-no">256</span><span id="line-256"></span>
-<span class="source-line-no">257</span><span id="line-257"> if (writeSize > 0) {</span>
-<span class="source-line-no">258</span><span id="line-258"> writeReqsLimiter.consume(writeReqs);</span>
-<span class="source-line-no">259</span><span id="line-259"> writeSizeLimiter.consume(writeSize);</span>
+<span class="source-line-no">235</span><span id="line-235"> }</span>
+<span class="source-line-no">236</span><span id="line-236"></span>
+<span class="source-line-no">237</span><span id="line-237"> if (estimateReadSize > 0) {</span>
+<span class="source-line-no">238</span><span id="line-238"> waitInterval = readReqsLimiter.getWaitIntervalMs(readReqs);</span>
+<span class="source-line-no">239</span><span id="line-239"> if (waitInterval > 0) {</span>
+<span class="source-line-no">240</span><span id="line-240"> RpcThrottlingException.throwNumReadRequestsExceeded(waitInterval);</span>
+<span class="source-line-no">241</span><span id="line-241"> }</span>
+<span class="source-line-no">242</span><span id="line-242"> waitInterval = readSizeLimiter.getWaitIntervalMs(estimateReadSize);</span>
+<span class="source-line-no">243</span><span id="line-243"> if (waitInterval > 0) {</span>
+<span class="source-line-no">244</span><span id="line-244"> RpcThrottlingException.throwReadSizeExceeded(waitInterval);</span>
+<span class="source-line-no">245</span><span id="line-245"> }</span>
+<span class="source-line-no">246</span><span id="line-246"> waitInterval = readCapacityUnitLimiter.getWaitIntervalMs(estimateReadCapacityUnit);</span>
+<span class="source-line-no">247</span><span id="line-247"> if (waitInterval > 0) {</span>
+<span class="source-line-no">248</span><span id="line-248"> RpcThrottlingException.throwReadCapacityUnitExceeded(waitInterval);</span>
+<span class="source-line-no">249</span><span id="line-249"> }</span>
+<span class="source-line-no">250</span><span id="line-250"> if (isAtomic) {</span>
+<span class="source-line-no">251</span><span id="line-251"> waitInterval = atomicReadSizeLimiter.getWaitIntervalMs(writeReqs + readReqs);</span>
+<span class="source-line-no">252</span><span id="line-252"> if (waitInterval > 0) {</span>
+<span class="source-line-no">253</span><span id="line-253"> RpcThrottlingException.throwAtomicReadSizeExceeded(waitInterval);</span>
+<span class="source-line-no">254</span><span id="line-254"> }</span>
+<span class="source-line-no">255</span><span id="line-255"> }</span>
+<span class="source-line-no">256</span><span id="line-256"> }</span>
+<span class="source-line-no">257</span><span id="line-257"> waitInterval = reqHandlerUsageTimeLimiter.getWaitIntervalMs(estimatedReqHandlerUsageTimeMs);</span>
+<span class="source-line-no">258</span><span id="line-258"> if (waitInterval > 0) {</span>
+<span class="source-line-no">259</span><span id="line-259"> RpcThrottlingException.throwRequestHandlerUsageTimeExceeded(waitInterval);</span>
<span class="source-line-no">260</span><span id="line-260"> }</span>
-<span class="source-line-no">261</span><span id="line-261"> if (readSize > 0) {</span>
-<span class="source-line-no">262</span><span id="line-262"> readReqsLimiter.consume(readReqs);</span>
-<span class="source-line-no">263</span><span id="line-263"> readSizeLimiter.consume(readSize);</span>
-<span class="source-line-no">264</span><span id="line-264"> }</span>
-<span class="source-line-no">265</span><span id="line-265"> if (writeCapacityUnit > 0) {</span>
-<span class="source-line-no">266</span><span id="line-266"> reqCapacityUnitLimiter.consume(writeCapacityUnit);</span>
-<span class="source-line-no">267</span><span id="line-267"> writeCapacityUnitLimiter.consume(writeCapacityUnit);</span>
-<span class="source-line-no">268</span><span id="line-268"> }</span>
-<span class="source-line-no">269</span><span id="line-269"> if (readCapacityUnit > 0) {</span>
-<span class="source-line-no">270</span><span id="line-270"> reqCapacityUnitLimiter.consume(readCapacityUnit);</span>
-<span class="source-line-no">271</span><span id="line-271"> readCapacityUnitLimiter.consume(readCapacityUnit);</span>
-<span class="source-line-no">272</span><span id="line-272"> }</span>
-<span class="source-line-no">273</span><span id="line-273"> if (isAtomic) {</span>
-<span class="source-line-no">274</span><span id="line-274"> atomicReqLimiter.consume(writeReqs + readReqs);</span>
-<span class="source-line-no">275</span><span id="line-275"> if (readSize > 0) {</span>
-<span class="source-line-no">276</span><span id="line-276"> atomicReadSizeLimiter.consume(readSize);</span>
-<span class="source-line-no">277</span><span id="line-277"> }</span>
-<span class="source-line-no">278</span><span id="line-278"> if (writeSize > 0) {</span>
-<span class="source-line-no">279</span><span id="line-279"> atomicWriteSizeLimiter.consume(writeSize);</span>
-<span class="source-line-no">280</span><span id="line-280"> }</span>
-<span class="source-line-no">281</span><span id="line-281"> }</span>
-<span class="source-line-no">282</span><span id="line-282"> reqHandlerUsageTimeLimiter.consume(estimateHandlerThreadUsageMs);</span>
-<span class="source-line-no">283</span><span id="line-283"> }</span>
-<span class="source-line-no">284</span><span id="line-284"></span>
-<span class="source-line-no">285</span><span id="line-285"> @Override</span>
-<span class="source-line-no">286</span><span id="line-286"> public void consumeWrite(final long size, long capacityUnit, boolean isAtomic) {</span>
-<span class="source-line-no">287</span><span id="line-287"> reqSizeLimiter.consume(size);</span>
-<span class="source-line-no">288</span><span id="line-288"> writeSizeLimiter.consume(size);</span>
-<span class="source-line-no">289</span><span id="line-289"> reqCapacityUnitLimiter.consume(capacityUnit);</span>
-<span class="source-line-no">290</span><span id="line-290"> writeCapacityUnitLimiter.consume(capacityUnit);</span>
-<span class="source-line-no">291</span><span id="line-291"> if (isAtomic) {</span>
-<span class="source-line-no">292</span><span id="line-292"> atomicWriteSizeLimiter.consume(size);</span>
-<span class="source-line-no">293</span><span id="line-293"> }</span>
-<span class="source-line-no">294</span><span id="line-294"> }</span>
-<span class="source-line-no">295</span><span id="line-295"></span>
-<span class="source-line-no">296</span><span id="line-296"> @Override</span>
-<span class="source-line-no">297</span><span id="line-297"> public void consumeRead(final long size, long capacityUnit, boolean isAtomic) {</span>
-<span class="source-line-no">298</span><span id="line-298"> reqSizeLimiter.consume(size);</span>
-<span class="source-line-no">299</span><span id="line-299"> readSizeLimiter.consume(size);</span>
-<span class="source-line-no">300</span><span id="line-300"> reqCapacityUnitLimiter.consume(capacityUnit);</span>
-<span class="source-line-no">301</span><span id="line-301"> readCapacityUnitLimiter.consume(capacityUnit);</span>
-<span class="source-line-no">302</span><span id="line-302"> if (isAtomic) {</span>
-<span class="source-line-no">303</span><span id="line-303"> atomicReadSizeLimiter.consume(size);</span>
-<span class="source-line-no">304</span><span id="line-304"> }</span>
-<span class="source-line-no">305</span><span id="line-305"> }</span>
-<span class="source-line-no">306</span><span id="line-306"></span>
-<span class="source-line-no">307</span><span id="line-307"> @Override</span>
-<span class="source-line-no">308</span><span id="line-308"> public void consumeTime(final long handlerMillisUsed) {</span>
-<span class="source-line-no">309</span><span id="line-309"> reqHandlerUsageTimeLimiter.consume(handlerMillisUsed);</span>
-<span class="source-line-no">310</span><span id="line-310"> }</span>
-<span class="source-line-no">311</span><span id="line-311"></span>
-<span class="source-line-no">312</span><span id="line-312"> @Override</span>
-<span class="source-line-no">313</span><span id="line-313"> public boolean isBypass() {</span>
-<span class="source-line-no">314</span><span id="line-314"> return false;</span>
-<span class="source-line-no">315</span><span id="line-315"> }</span>
-<span class="source-line-no">316</span><span id="line-316"></span>
-<span class="source-line-no">317</span><span id="line-317"> @Override</span>
-<span class="source-line-no">318</span><span id="line-318"> public long getWriteAvailable() {</span>
-<span class="source-line-no">319</span><span id="line-319"> return writeSizeLimiter.getAvailable();</span>
+<span class="source-line-no">261</span><span id="line-261"> }</span>
+<span class="source-line-no">262</span><span id="line-262"></span>
+<span class="source-line-no">263</span><span id="line-263"> @Override</span>
+<span class="source-line-no">264</span><span id="line-264"> public void grabQuota(long writeReqs, long writeSize, long readReqs, long readSize,</span>
+<span class="source-line-no">265</span><span id="line-265"> long writeCapacityUnit, long readCapacityUnit, boolean isAtomic,</span>
+<span class="source-line-no">266</span><span id="line-266"> long estimateHandlerThreadUsageMs) {</span>
+<span class="source-line-no">267</span><span id="line-267"> assert writeSize != 0 || readSize != 0;</span>
+<span class="source-line-no">268</span><span id="line-268"></span>
+<span class="source-line-no">269</span><span id="line-269"> reqsLimiter.consume(writeReqs + readReqs);</span>
+<span class="source-line-no">270</span><span id="line-270"> reqSizeLimiter.consume(writeSize + readSize);</span>
+<span class="source-line-no">271</span><span id="line-271"></span>
+<span class="source-line-no">272</span><span id="line-272"> if (writeSize > 0) {</span>
+<span class="source-line-no">273</span><span id="line-273"> writeReqsLimiter.consume(writeReqs);</span>
+<span class="source-line-no">274</span><span id="line-274"> writeSizeLimiter.consume(writeSize);</span>
+<span class="source-line-no">275</span><span id="line-275"> }</span>
+<span class="source-line-no">276</span><span id="line-276"> if (readSize > 0) {</span>
+<span class="source-line-no">277</span><span id="line-277"> readReqsLimiter.consume(readReqs);</span>
+<span class="source-line-no">278</span><span id="line-278"> readSizeLimiter.consume(readSize);</span>
+<span class="source-line-no">279</span><span id="line-279"> }</span>
+<span class="source-line-no">280</span><span id="line-280"> if (writeCapacityUnit > 0) {</span>
+<span class="source-line-no">281</span><span id="line-281"> reqCapacityUnitLimiter.consume(writeCapacityUnit);</span>
+<span class="source-line-no">282</span><span id="line-282"> writeCapacityUnitLimiter.consume(writeCapacityUnit);</span>
+<span class="source-line-no">283</span><span id="line-283"> }</span>
+<span class="source-line-no">284</span><span id="line-284"> if (readCapacityUnit > 0) {</span>
+<span class="source-line-no">285</span><span id="line-285"> reqCapacityUnitLimiter.consume(readCapacityUnit);</span>
+<span class="source-line-no">286</span><span id="line-286"> readCapacityUnitLimiter.consume(readCapacityUnit);</span>
+<span class="source-line-no">287</span><span id="line-287"> }</span>
+<span class="source-line-no">288</span><span id="line-288"> if (isAtomic) {</span>
+<span class="source-line-no">289</span><span id="line-289"> atomicReqLimiter.consume(writeReqs + readReqs);</span>
+<span class="source-line-no">290</span><span id="line-290"> if (readSize > 0) {</span>
+<span class="source-line-no">291</span><span id="line-291"> atomicReadSizeLimiter.consume(readSize);</span>
+<span class="source-line-no">292</span><span id="line-292"> }</span>
+<span class="source-line-no">293</span><span id="line-293"> if (writeSize > 0) {</span>
+<span class="source-line-no">294</span><span id="line-294"> atomicWriteSizeLimiter.consume(writeSize);</span>
+<span class="source-line-no">295</span><span id="line-295"> }</span>
+<span class="source-line-no">296</span><span id="line-296"> }</span>
+<span class="source-line-no">297</span><span id="line-297"> reqHandlerUsageTimeLimiter.consume(estimateHandlerThreadUsageMs);</span>
+<span class="source-line-no">298</span><span id="line-298"> }</span>
+<span class="source-line-no">299</span><span id="line-299"></span>
+<span class="source-line-no">300</span><span id="line-300"> @Override</span>
+<span class="source-line-no">301</span><span id="line-301"> public void consumeWrite(final long size, long capacityUnit, boolean isAtomic) {</span>
+<span class="source-line-no">302</span><span id="line-302"> reqSizeLimiter.consume(size);</span>
+<span class="source-line-no">303</span><span id="line-303"> writeSizeLimiter.consume(size);</span>
+<span class="source-line-no">304</span><span id="line-304"> reqCapacityUnitLimiter.consume(capacityUnit);</span>
+<span class="source-line-no">305</span><span id="line-305"> writeCapacityUnitLimiter.consume(capacityUnit);</span>
+<span class="source-line-no">306</span><span id="line-306"> if (isAtomic) {</span>
+<span class="source-line-no">307</span><span id="line-307"> atomicWriteSizeLimiter.consume(size);</span>
+<span class="source-line-no">308</span><span id="line-308"> }</span>
+<span class="source-line-no">309</span><span id="line-309"> }</span>
+<span class="source-line-no">310</span><span id="line-310"></span>
+<span class="source-line-no">311</span><span id="line-311"> @Override</span>
+<span class="source-line-no">312</span><span id="line-312"> public void consumeRead(final long size, long capacityUnit, boolean isAtomic) {</span>
+<span class="source-line-no">313</span><span id="line-313"> reqSizeLimiter.consume(size);</span>
+<span class="source-line-no">314</span><span id="line-314"> readSizeLimiter.consume(size);</span>
+<span class="source-line-no">315</span><span id="line-315"> reqCapacityUnitLimiter.consume(capacityUnit);</span>
+<span class="source-line-no">316</span><span id="line-316"> readCapacityUnitLimiter.consume(capacityUnit);</span>
+<span class="source-line-no">317</span><span id="line-317"> if (isAtomic) {</span>
+<span class="source-line-no">318</span><span id="line-318"> atomicReadSizeLimiter.consume(size);</span>
+<span class="source-line-no">319</span><span id="line-319"> }</span>
<span class="source-line-no">320</span><span id="line-320"> }</span>
<span class="source-line-no">321</span><span id="line-321"></span>
<span class="source-line-no">322</span><span id="line-322"> @Override</span>
-<span class="source-line-no">323</span><span id="line-323"> public long getRequestNumLimit() {</span>
-<span class="source-line-no">324</span><span id="line-324"> long readAndWriteLimit = readReqsLimiter.getLimit() + writeReqsLimiter.getLimit();</span>
-<span class="source-line-no">325</span><span id="line-325"></span>
-<span class="source-line-no">326</span><span id="line-326"> if (readAndWriteLimit < 0) { // handle overflow</span>
-<span class="source-line-no">327</span><span id="line-327"> readAndWriteLimit = Long.MAX_VALUE;</span>
-<span class="source-line-no">328</span><span id="line-328"> }</span>
-<span class="source-line-no">329</span><span id="line-329"></span>
-<span class="source-line-no">330</span><span id="line-330"> return Math.min(reqsLimiter.getLimit(), readAndWriteLimit);</span>
-<span class="source-line-no">331</span><span id="line-331"> }</span>
-<span class="source-line-no">332</span><span id="line-332"></span>
-<span class="source-line-no">333</span><span id="line-333"> @Override</span>
-<span class="source-line-no">334</span><span id="line-334"> public long getReadNumLimit() {</span>
-<span class="source-line-no">335</span><span id="line-335"> return readReqsLimiter.getLimit();</span>
-<span class="source-line-no">336</span><span id="line-336"> }</span>
-<span class="source-line-no">337</span><span id="line-337"></span>
-<span class="source-line-no">338</span><span id="line-338"> @Override</span>
-<span class="source-line-no">339</span><span id="line-339"> public long getWriteNumLimit() {</span>
-<span class="source-line-no">340</span><span id="line-340"> return writeReqsLimiter.getLimit();</span>
-<span class="source-line-no">341</span><span id="line-341"> }</span>
-<span class="source-line-no">342</span><span id="line-342"></span>
-<span class="source-line-no">343</span><span id="line-343"> @Override</span>
-<span class="source-line-no">344</span><span id="line-344"> public long getReadAvailable() {</span>
-<span class="source-line-no">345</span><span id="line-345"> return readSizeLimiter.getAvailable();</span>
+<span class="source-line-no">323</span><span id="line-323"> public void consumeTime(final long handlerMillisUsed) {</span>
+<span class="source-line-no">324</span><span id="line-324"> reqHandlerUsageTimeLimiter.consume(handlerMillisUsed);</span>
+<span class="source-line-no">325</span><span id="line-325"> }</span>
+<span class="source-line-no">326</span><span id="line-326"></span>
+<span class="source-line-no">327</span><span id="line-327"> @Override</span>
+<span class="source-line-no">328</span><span id="line-328"> public boolean isBypass() {</span>
+<span class="source-line-no">329</span><span id="line-329"> return false;</span>
+<span class="source-line-no">330</span><span id="line-330"> }</span>
+<span class="source-line-no">331</span><span id="line-331"></span>
+<span class="source-line-no">332</span><span id="line-332"> @Override</span>
+<span class="source-line-no">333</span><span id="line-333"> public long getWriteAvailable() {</span>
+<span class="source-line-no">334</span><span id="line-334"> return writeSizeLimiter.getAvailable();</span>
+<span class="source-line-no">335</span><span id="line-335"> }</span>
+<span class="source-line-no">336</span><span id="line-336"></span>
+<span class="source-line-no">337</span><span id="line-337"> @Override</span>
+<span class="source-line-no">338</span><span id="line-338"> public long getRequestNumLimit() {</span>
+<span class="source-line-no">339</span><span id="line-339"> long readAndWriteLimit = readReqsLimiter.getLimit() + writeReqsLimiter.getLimit();</span>
+<span class="source-line-no">340</span><span id="line-340"></span>
+<span class="source-line-no">341</span><span id="line-341"> if (readAndWriteLimit < 0) { // handle overflow</span>
+<span class="source-line-no">342</span><span id="line-342"> readAndWriteLimit = Long.MAX_VALUE;</span>
+<span class="source-line-no">343</span><span id="line-343"> }</span>
+<span class="source-line-no">344</span><span id="line-344"></span>
+<span class="source-line-no">345</span><span id="line-345"> return Math.min(reqsLimiter.getLimit(), readAndWriteLimit);</span>
<span class="source-line-no">346</span><span id="line-346"> }</span>
<span class="source-line-no">347</span><span id="line-347"></span>
<span class="source-line-no">348</span><span id="line-348"> @Override</span>
-<span class="source-line-no">349</span><span id="line-349"> public long getReadLimit() {</span>
-<span class="source-line-no">350</span><span id="line-350"> return Math.min(readSizeLimiter.getLimit(), reqSizeLimiter.getLimit());</span>
+<span class="source-line-no">349</span><span id="line-349"> public long getReadNumLimit() {</span>
+<span class="source-line-no">350</span><span id="line-350"> return readReqsLimiter.getLimit();</span>
<span class="source-line-no">351</span><span id="line-351"> }</span>
<span class="source-line-no">352</span><span id="line-352"></span>
<span class="source-line-no">353</span><span id="line-353"> @Override</span>
-<span class="source-line-no">354</span><span id="line-354"> public long getWriteLimit() {</span>
-<span class="source-line-no">355</span><span id="line-355"> return Math.min(writeSizeLimiter.getLimit(), reqSizeLimiter.getLimit());</span>
+<span class="source-line-no">354</span><span id="line-354"> public long getWriteNumLimit() {</span>
+<span class="source-line-no">355</span><span id="line-355"> return writeReqsLimiter.getLimit();</span>
<span class="source-line-no">356</span><span id="line-356"> }</span>
<span class="source-line-no">357</span><span id="line-357"></span>
<span class="source-line-no">358</span><span id="line-358"> @Override</span>
-<span class="source-line-no">359</span><span id="line-359"> public String toString() {</span>
-<span class="source-line-no">360</span><span id="line-360"> StringBuilder builder = new StringBuilder();</span>
-<span class="source-line-no">361</span><span id="line-361"> builder.append("TimeBasedLimiter(");</span>
-<span class="source-line-no">362</span><span id="line-362"> if (!reqsLimiter.isBypass()) {</span>
-<span class="source-line-no">363</span><span id="line-363"> builder.append("reqs=" + reqsLimiter);</span>
-<span class="source-line-no">364</span><span id="line-364"> }</span>
-<span class="source-line-no">365</span><span id="line-365"> if (!reqSizeLimiter.isBypass()) {</span>
-<span class="source-line-no">366</span><span id="line-366"> builder.append(" resSize=" + reqSizeLimiter);</span>
-<span class="source-line-no">367</span><span id="line-367"> }</span>
-<span class="source-line-no">368</span><span id="line-368"> if (!writeReqsLimiter.isBypass()) {</span>
-<span class="source-line-no">369</span><span id="line-369"> builder.append(" writeReqs=" + writeReqsLimiter);</span>
-<span class="source-line-no">370</span><span id="line-370"> }</span>
-<span class="source-line-no">371</span><span id="line-371"> if (!writeSizeLimiter.isBypass()) {</span>
-<span class="source-line-no">372</span><span id="line-372"> builder.append(" writeSize=" + writeSizeLimiter);</span>
-<span class="source-line-no">373</span><span id="line-373"> }</span>
-<span class="source-line-no">374</span><span id="line-374"> if (!readReqsLimiter.isBypass()) {</span>
-<span class="source-line-no">375</span><span id="line-375"> builder.append(" readReqs=" + readReqsLimiter);</span>
-<span class="source-line-no">376</span><span id="line-376"> }</span>
-<span class="source-line-no">377</span><span id="line-377"> if (!readSizeLimiter.isBypass()) {</span>
-<span class="source-line-no">378</span><span id="line-378"> builder.append(" readSize=" + readSizeLimiter);</span>
+<span class="source-line-no">359</span><span id="line-359"> public long getReadAvailable() {</span>
+<span class="source-line-no">360</span><span id="line-360"> return readSizeLimiter.getAvailable();</span>
+<span class="source-line-no">361</span><span id="line-361"> }</span>
+<span class="source-line-no">362</span><span id="line-362"></span>
+<span class="source-line-no">363</span><span id="line-363"> @Override</span>
+<span class="source-line-no">364</span><span id="line-364"> public long getReadLimit() {</span>
+<span class="source-line-no">365</span><span id="line-365"> return Math.min(readSizeLimiter.getLimit(), reqSizeLimiter.getLimit());</span>
+<span class="source-line-no">366</span><span id="line-366"> }</span>
+<span class="source-line-no">367</span><span id="line-367"></span>
+<span class="source-line-no">368</span><span id="line-368"> @Override</span>
+<span class="source-line-no">369</span><span id="line-369"> public long getWriteLimit() {</span>
+<span class="source-line-no">370</span><span id="line-370"> return Math.min(writeSizeLimiter.getLimit(), reqSizeLimiter.getLimit());</span>
+<span class="source-line-no">371</span><span id="line-371"> }</span>
+<span class="source-line-no">372</span><span id="line-372"></span>
+<span class="source-line-no">373</span><span id="line-373"> @Override</span>
+<span class="source-line-no">374</span><span id="line-374"> public String toString() {</span>
+<span class="source-line-no">375</span><span id="line-375"> StringBuilder builder = new StringBuilder();</span>
+<span class="source-line-no">376</span><span id="line-376"> builder.append("TimeBasedLimiter(");</span>
+<span class="source-line-no">377</span><span id="line-377"> if (!reqsLimiter.isBypass()) {</span>
+<span class="source-line-no">378</span><span id="line-378"> builder.append("reqs=" + reqsLimiter);</span>
<span class="source-line-no">379</span><span id="line-379"> }</span>
-<span class="source-line-no">380</span><span id="line-380"> if (!reqCapacityUnitLimiter.isBypass()) {</span>
-<span class="source-line-no">381</span><span id="line-381"> builder.append(" reqCapacityUnit=" + reqCapacityUnitLimiter);</span>
+<span class="source-line-no">380</span><span id="line-380"> if (!reqSizeLimiter.isBypass()) {</span>
+<span class="source-line-no">381</span><span id="line-381"> builder.append(" resSize=" + reqSizeLimiter);</span>
<span class="source-line-no">382</span><span id="line-382"> }</span>
-<span class="source-line-no">383</span><span id="line-383"> if (!writeCapacityUnitLimiter.isBypass()) {</span>
-<span class="source-line-no">384</span><span id="line-384"> builder.append(" writeCapacityUnit=" + writeCapacityUnitLimiter);</span>
+<span class="source-line-no">383</span><span id="line-383"> if (!writeReqsLimiter.isBypass()) {</span>
+<span class="source-line-no">384</span><span id="line-384"> builder.append(" writeReqs=" + writeReqsLimiter);</span>
<span class="source-line-no">385</span><span id="line-385"> }</span>
-<span class="source-line-no">386</span><span id="line-386"> if (!readCapacityUnitLimiter.isBypass()) {</span>
-<span class="source-line-no">387</span><span id="line-387"> builder.append(" readCapacityUnit=" + readCapacityUnitLimiter);</span>
+<span class="source-line-no">386</span><span id="line-386"> if (!writeSizeLimiter.isBypass()) {</span>
+<span class="source-line-no">387</span><span id="line-387"> builder.append(" writeSize=" + writeSizeLimiter);</span>
<span class="source-line-no">388</span><span id="line-388"> }</span>
-<span class="source-line-no">389</span><span id="line-389"> if (!atomicReqLimiter.isBypass()) {</span>
-<span class="source-line-no">390</span><span id="line-390"> builder.append(" atomicReqLimiter=" + atomicReqLimiter);</span>
+<span class="source-line-no">389</span><span id="line-389"> if (!readReqsLimiter.isBypass()) {</span>
+<span class="source-line-no">390</span><span id="line-390"> builder.append(" readReqs=" + readReqsLimiter);</span>
<span class="source-line-no">391</span><span id="line-391"> }</span>
-<span class="source-line-no">392</span><span id="line-392"> if (!atomicReadSizeLimiter.isBypass()) {</span>
-<span class="source-line-no">393</span><span id="line-393"> builder.append(" atomicReadSizeLimiter=" + atomicReadSizeLimiter);</span>
+<span class="source-line-no">392</span><span id="line-392"> if (!readSizeLimiter.isBypass()) {</span>
+<span class="source-line-no">393</span><span id="line-393"> builder.append(" readSize=" + readSizeLimiter);</span>
<span class="source-line-no">394</span><span id="line-394"> }</span>
-<span class="source-line-no">395</span><span id="line-395"> if (!atomicWriteSizeLimiter.isBypass()) {</span>
-<span class="source-line-no">396</span><span id="line-396"> builder.append(" atomicWriteSizeLimiter=" + atomicWriteSizeLimiter);</span>
+<span class="source-line-no">395</span><span id="line-395"> if (!reqCapacityUnitLimiter.isBypass()) {</span>
+<span class="source-line-no">396</span><span id="line-396"> builder.append(" reqCapacityUnit=" + reqCapacityUnitLimiter);</span>
<span class="source-line-no">397</span><span id="line-397"> }</span>
-<span class="source-line-no">398</span><span id="line-398"> if (!reqHandlerUsageTimeLimiter.isBypass()) {</span>
-<span class="source-line-no">399</span><span id="line-399"> builder.append(" reqHandlerUsageTimeLimiter=" + reqHandlerUsageTimeLimiter);</span>
+<span class="source-line-no">398</span><span id="line-398"> if (!writeCapacityUnitLimiter.isBypass()) {</span>
+<span class="source-line-no">399</span><span id="line-399"> builder.append(" writeCapacityUnit=" + writeCapacityUnitLimiter);</span>
<span class="source-line-no">400</span><span id="line-400"> }</span>
-<span class="source-line-no">401</span><span id="line-401"> builder.append(')');</span>
-<span class="source-line-no">402</span><span id="line-402"> return builder.toString();</span>
-<span class="source-line-no">403</span><span id="line-403"> }</span>
-<span class="source-line-no">404</span><span id="line-404">}</span>
+<span class="source-line-no">401</span><span id="line-401"> if (!readCapacityUnitLimiter.isBypass()) {</span>
+<span class="source-line-no">402</span><span id="line-402"> builder.append(" readCapacityUnit=" + readCapacityUnitLimiter);</span>
+<span class="source-line-no">403</span><span id="line-403"> }</span>
+<span class="source-line-no">404</span><span id="line-404"> if (!atomicReqLimiter.isBypass()) {</span>
+<span class="source-line-no">405</span><span id="line-405"> builder.append(" atomicReqLimiter=" + atomicReqLimiter);</span>
+<span class="source-line-no">406</span><span id="line-406"> }</span>
+<span class="source-line-no">407</span><span id="line-407"> if (!atomicReadSizeLimiter.isBypass()) {</span>
+<span class="source-line-no">408</span><span id="line-408"> builder.append(" atomicReadSizeLimiter=" + atomicReadSizeLimiter);</span>
+<span class="source-line-no">409</span><span id="line-409"> }</span>
+<span class="source-line-no">410</span><span id="line-410"> if (!atomicWriteSizeLimiter.isBypass()) {</span>
+<span class="source-line-no">411</span><span id="line-411"> builder.append(" atomicWriteSizeLimiter=" + atomicWriteSizeLimiter);</span>
+<span class="source-line-no">412</span><span id="line-412"> }</span>
+<span class="source-line-no">413</span><span id="line-413"> if (!reqHandlerUsageTimeLimiter.isBypass()) {</span>
+<span class="source-line-no">414</span><span id="line-414"> builder.append(" reqHandlerUsageTimeLimiter=" + reqHandlerUsageTimeLimiter);</span>
+<span class="source-line-no">415</span><span id="line-415"> }</span>
+<span class="source-line-no">416</span><span id="line-416"> builder.append(')');</span>
+<span class="source-line-no">417</span><span id="line-417"> return builder.toString();</span>
+<span class="source-line-no">418</span><span id="line-418"> }</span>
+<span class="source-line-no">419</span><span id="line-419">}</span>
diff --git a/apidocs/type-search-index.js b/apidocs/type-search-index.js
index beed52dae5c..b9164a47efc 100644
--- a/apidocs/type-search-index.js
+++ b/apidocs/type-search-index.js
@@ -1 +1 @@
-typeSearchIndex = [{"p":"org.apache.hadoop.hbase","l":"Abortable"},{"p":"org.apache.hadoop.hbase.util","l":"AbstractByteRange"},{"p":"org.apache.hadoop.hbase.client","l":"AbstractClientScanner"},{"p":"org.apache.hadoop.hbase.io.encoding","l":"AbstractDataBlockEncoder"},{"p":"org.apache.hadoop.hbase.io.encoding","l":"AbstractDataBlockEncoder.AbstractEncodedSeeker"},{"p":"org.apache.hadoop.hbase.util","l":"AbstractFileStatusFilter"},{"p":"org.apache.hadoop.hbase.regionserver.wal","l":"Abst [...]
\ No newline at end of file
+typeSearchIndex = [{"p":"org.apache.hadoop.hbase","l":"Abortable"},{"p":"org.apache.hadoop.hbase.util","l":"AbstractByteRange"},{"p":"org.apache.hadoop.hbase.client","l":"AbstractClientScanner"},{"p":"org.apache.hadoop.hbase.io.encoding","l":"AbstractDataBlockEncoder"},{"p":"org.apache.hadoop.hbase.io.encoding","l":"AbstractDataBlockEncoder.AbstractEncodedSeeker"},{"p":"org.apache.hadoop.hbase.util","l":"AbstractFileStatusFilter"},{"p":"org.apache.hadoop.hbase.regionserver.wal","l":"Abst [...]
\ No newline at end of file
diff --git a/book.html b/book.html
index 7bafed581a2..0d03dbf138f 100644
--- a/book.html
+++ b/book.html
@@ -50145,7 +50145,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
<div id="footer">
<div id="footer-text">
Version 4.0.0-alpha-1-SNAPSHOT<br>
-Last updated 2025-10-22 14:30:43 UTC
+Last updated 2025-10-28 14:30:52 UTC
</div>
</div>
<script type="text/x-mathjax-config">
diff --git a/bulk-loads.html b/bulk-loads.html
index 8b044253b94..30c07335961 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -561,7 +561,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 4533dc86fb3..be8e4354cce 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -176,7 +176,7 @@ Generated by Apache Maven Doxia
</thead>
<tbody>
<tr class="b">
- <td>5180</td>
+ <td>5182</td>
<td>0</td>
<td>0</td>
<td>1859</td>
@@ -29408,7 +29408,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/coc.html b/coc.html
index 68ca4fd7245..4a5603489a5 100644
--- a/coc.html
+++ b/coc.html
@@ -581,7 +581,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/dependency-convergence.html b/dependency-convergence.html
index d300225ceb9..6c0ac57df8b 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -1828,7 +1828,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/dependency-info.html b/dependency-info.html
index a1b00079566..b92fe7aab23 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -614,7 +614,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/dependency-management.html b/dependency-management.html
index 0d78683979a..35564372c12 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -2387,7 +2387,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/devapidocs/allclasses-index.html b/devapidocs/allclasses-index.html
index 9509add9cc5..50c80c24241 100644
--- a/devapidocs/allclasses-index.html
+++ b/devapidocs/allclasses-index.html
@@ -3825,6 +3825,14 @@ loadScripts(document, 'script');</script>
<div class="block">An implementation of the <a href="org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master"><code>LoadBalancer</code></a> that assigns favored
nodes for each region.</div>
</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns
+ to achieve stable, full utilization of configured quota allowances while managing client
+ contention.</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/hadoop/hbase/security/visibility/FeedUserAuthScanLabelGenerator.html" title="class in org.apache.hadoop.hbase.security.visibility">FeedUserAuthScanLabelGenerator</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">If the passed in authorization is null, then this ScanLabelGenerator feeds the set of predefined
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index d3ae2e874e7..f13ed0a02d0 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -11639,6 +11639,59 @@ loadScripts(document, 'script');</script>
</div>
</li>
<li>
+<div class="caption"><span>org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></span></div>
+<div class="summary-table three-column-summary">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Constant Field</div>
+<div class="table-header col-last">Value</div>
+<div class="col-first even-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.DEFAULT_BACKOFF_MULTIPLIER_DECREMENT">public static final double</code></div>
+<div class="col-second even-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#DEFAULT_BACKOFF_MULTIPLIER_DECREMENT">DEFAULT_BACKOFF_MULTIPLIER_DECREMENT</a></code></div>
+<div class="col-last even-row-color"><code>1.0E-4</code></div>
+<div class="col-first odd-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.DEFAULT_BACKOFF_MULTIPLIER_INCREMENT">public static final double</code></div>
+<div class="col-second odd-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#DEFAULT_BACKOFF_MULTIPLIER_INCREMENT">DEFAULT_BACKOFF_MULTIPLIER_INCREMENT</a></code></div>
+<div class="col-last odd-row-color"><code>5.0E-4</code></div>
+<div class="col-first even-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.DEFAULT_MAX_BACKOFF_MULTIPLIER">public static final double</code></div>
+<div class="col-second even-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#DEFAULT_MAX_BACKOFF_MULTIPLIER">DEFAULT_MAX_BACKOFF_MULTIPLIER</a></code></div>
+<div class="col-last even-row-color"><code>10.0</code></div>
+<div class="col-first odd-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.DEFAULT_MAX_OVERSUBSCRIPTION">public static final double</code></div>
+<div class="col-second odd-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#DEFAULT_MAX_OVERSUBSCRIPTION">DEFAULT_MAX_OVERSUBSCRIPTION</a></code></div>
+<div class="col-last odd-row-color"><code>0.25</code></div>
+<div class="col-first even-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.DEFAULT_OVERSUBSCRIPTION_DECREMENT">public static final double</code></div>
+<div class="col-second even-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#DEFAULT_OVERSUBSCRIPTION_DECREMENT">DEFAULT_OVERSUBSCRIPTION_DECREMENT</a></code></div>
+<div class="col-last even-row-color"><code>5.0E-5</code></div>
+<div class="col-first odd-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.DEFAULT_OVERSUBSCRIPTION_INCREMENT">public static final double</code></div>
+<div class="col-second odd-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#DEFAULT_OVERSUBSCRIPTION_INCREMENT">DEFAULT_OVERSUBSCRIPTION_INCREMENT</a></code></div>
+<div class="col-last odd-row-color"><code>0.001</code></div>
+<div class="col-first even-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.DEFAULT_UTILIZATION_ERROR_BUDGET">public static final double</code></div>
+<div class="col-second even-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#DEFAULT_UTILIZATION_ERROR_BUDGET">DEFAULT_UTILIZATION_ERROR_BUDGET</a></code></div>
+<div class="col-last even-row-color"><code>0.025</code></div>
+<div class="col-first odd-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT">public static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT">FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT</a></code></div>
+<div class="col-last odd-row-color"><code>"hbase.quota.rate.limiter.feedback.adaptive.backoff.multiplier.decrement"</code></div>
+<div class="col-first even-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT">public static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT">FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT</a></code></div>
+<div class="col-last even-row-color"><code>"hbase.quota.rate.limiter.feedback.adaptive.backoff.multiplier.increment"</code></div>
+<div class="col-first odd-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER">public static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER">FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER</a></code></div>
+<div class="col-last odd-row-color"><code>"hbase.quota.rate.limiter.feedback.adaptive.max.backoff.multiplier"</code></div>
+<div class="col-first even-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION">public static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION">FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION</a></code></div>
+<div class="col-last even-row-color"><code>"hbase.quota.rate.limiter.feedback.adaptive.max.oversubscription"</code></div>
+<div class="col-first odd-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT">public static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT">FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT</a></code></div>
+<div class="col-last odd-row-color"><code>"hbase.quota.rate.limiter.feedback.adaptive.oversubscription.decrement"</code></div>
+<div class="col-first even-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT">public static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT">FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT</a></code></div>
+<div class="col-last even-row-color"><code>"hbase.quota.rate.limiter.feedback.adaptive.oversubscription.increment"</code></div>
+<div class="col-first odd-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET">public static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET">FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET</a></code></div>
+<div class="col-last odd-row-color"><code>"hbase.quota.rate.limiter.feedback.adaptive.utilization.error.budget"</code></div>
+<div class="col-first even-row-color"><code id="org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.WINDOW_TIME_MS">private static final int</code></div>
+<div class="col-second even-row-color"><code><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#WINDOW_TIME_MS">WINDOW_TIME_MS</a></code></div>
+<div class="col-last even-row-color"><code>60000</code></div>
+</div>
+</li>
+<li>
<div class="caption"><span>org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FileArchiverNotifierImpl.QuotaSnapshotSizeSerializationException.html" title="class in org.apache.hadoop.hbase.quotas">FileArchiverNotifierImpl.QuotaSnapshotSizeSerializationException</a></span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index fcb10c78668..78613612f94 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -4046,6 +4046,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/StoreFileComparators.GetMaxTimestamp.html#applyAsLong(org.apache.hadoop.hbase.regionserver.HStoreFile)" class="member-name-link">applyAsLong(HStoreFile)</a> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/StoreFileComparators.GetMaxTimestamp.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileComparators.GetMaxTimestamp</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#applyBackoffMultiplier(long)" class="member-name-link">applyBackoffMultiplier(long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/replication/regionserver/MetricsSink.html#applyBatch(long)" class="member-name-link">applyBatch(long)</a> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/MetricsSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">MetricsSink</a></dt>
<dd>
<div class="block">Convience method to change metrics when a batch of operations are applied.</div>
@@ -5978,6 +5980,14 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/client/backoff/ClientBackoffPolicy.html#BACKOFF_POLICY_CLASS" class="member-name-link">BACKOFF_POLICY_CLASS</a> - Static variable in interface org.apache.hadoop.hbase.client.backoff.<a href="org/apache/hadoop/hbase/client/backoff/ClientBackoffPolicy.html" title="interface in org.apache.hadoop.hbase.client.backoff">ClientBackoffPolicy</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#backoffMultiplierDecrement" class="member-name-link">backoffMultiplierDecrement</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#backoffMultiplierDecrement" class="member-name-link">backoffMultiplierDecrement</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#backoffMultiplierIncrement" class="member-name-link">backoffMultiplierIncrement</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#backoffMultiplierIncrement" class="member-name-link">backoffMultiplierIncrement</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#backoffPolicy" class="member-name-link">backoffPolicy</a> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/util/RetryCounter.RetryConfig.html#backoffPolicy" class="member-name-link">backoffPolicy</a> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/RetryCounter.RetryConfig.html" title="class in org.apache.hadoop.hbase.util">RetryCounter.RetryConfig</a></dt>
@@ -21296,6 +21306,8 @@ loadScripts(document, 'script');</script>
</dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#consume()" class="member-name-link">consume()</a> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#consume(long)" class="member-name-link">consume(long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/RateLimiter.html#consume(long)" class="member-name-link">consume(long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a></dt>
<dd>
<div class="block">consume amount available units, amount could be a negative number</div>
@@ -22968,6 +22980,8 @@ loadScripts(document, 'script');</script>
<dd>
<div class="block">Create an <a href="org/apache/hadoop/hbase/nio/RefCnt.html" title="class in org.apache.hadoop.hbase.nio"><code>RefCnt</code></a> with an initial reference count = 1.</div>
</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#create()" class="member-name-link">create()</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/RawCellBuilderFactory.html#create()" class="member-name-link">create()</a> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/RawCellBuilderFactory.html" title="class in org.apache.hadoop.hbase">RawCellBuilderFactory</a></dt>
<dd>
<div class="block">Returns the cell that is created</div>
@@ -26795,6 +26809,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/util/ExponentialMovingAverage.html#currentAverage" class="member-name-link">currentAverage</a> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/ExponentialMovingAverage.html" title="class in org.apache.hadoop.hbase.util">ExponentialMovingAverage</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#currentBackoffMultiplier" class="member-name-link">currentBackoffMultiplier</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#currentBandwidth" class="member-name-link">currentBandwidth</a> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSource</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.BufferedEncodedSeeker.html#currentBuffer" class="member-name-link">currentBuffer</a> - Variable in class org.apache.hadoop.hbase.io.encoding.<a href="org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.BufferedEncodedSeeker.html" title="class in org.apache.hadoop.hbase.io.encoding">BufferedDataBlockEncoder.BufferedEncodedSeeker</a></dt>
@@ -28441,6 +28457,10 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#DEFAULT_BACKING_MAP_PERSISTENCE_CHUNK_SIZE" class="member-name-link">DEFAULT_BACKING_MAP_PERSISTENCE_CHUNK_SIZE</a> - Static variable in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#DEFAULT_BACKOFF_MULTIPLIER_DECREMENT" class="member-name-link">DEFAULT_BACKOFF_MULTIPLIER_DECREMENT</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#DEFAULT_BACKOFF_MULTIPLIER_INCREMENT" class="member-name-link">DEFAULT_BACKOFF_MULTIPLIER_INCREMENT</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/util/RetryCounter.RetryConfig.html#DEFAULT_BACKOFF_POLICY" class="member-name-link">DEFAULT_BACKOFF_POLICY</a> - Static variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/RetryCounter.RetryConfig.html" title="class in org.apache.hadoop.hbase.util">RetryCounter.RetryConfig</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/backup/BackupRestoreConstants.html#DEFAULT_BACKUP_ATTEMPTS_PAUSE_MS" class="member-name-link">DEFAULT_BACKUP_ATTEMPTS_PAUSE_MS</a> - Static variable in interface org.apache.hadoop.hbase.backup.<a href="org/apache/hadoop/hbase/backup/BackupRestoreConstants.html" title="interface in org.apache.hadoop.hbase.backup">BackupRestoreConstants</a></dt>
@@ -29166,6 +29186,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/client/backoff/ExponentialClientBackoffPolicy.html#DEFAULT_MAX_BACKOFF" class="member-name-link">DEFAULT_MAX_BACKOFF</a> - Static variable in class org.apache.hadoop.hbase.client.backoff.<a href="org/apache/hadoop/hbase/client/backoff/ExponentialClientBackoffPolicy.html" title="class in org.apache.hadoop.hbase.client.backoff">ExponentialClientBackoffPolicy</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#DEFAULT_MAX_BACKOFF_MULTIPLIER" class="member-name-link">DEFAULT_MAX_BACKOFF_MULTIPLIER</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#DEFAULT_MAX_BATCH_COUNT" class="member-name-link">DEFAULT_MAX_BATCH_COUNT</a> - Static variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/FSHLog.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/io/hfile/LruAdaptiveBlockCache.html#DEFAULT_MAX_BLOCK_SIZE" class="member-name-link">DEFAULT_MAX_BLOCK_SIZE</a> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/LruAdaptiveBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile">LruAdaptiveBlockCache</a></dt>
@@ -29224,6 +29246,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/master/balancer/MoveCostFunction.html#DEFAULT_MAX_MOVES" class="member-name-link">DEFAULT_MAX_MOVES</a> - Static variable in class org.apache.hadoop.hbase.master.balancer.<a href="org/apache/hadoop/hbase/master/balancer/MoveCostFunction.html" title="class in org.apache.hadoop.hbase.master.balancer">MoveCostFunction</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#DEFAULT_MAX_OVERSUBSCRIPTION" class="member-name-link">DEFAULT_MAX_OVERSUBSCRIPTION</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.html#DEFAULT_MAX_QUEUE_SIZE" class="member-name-link">DEFAULT_MAX_QUEUE_SIZE</a> - Static variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureDispatcher</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/thrift/TBoundedThreadPoolServer.html#DEFAULT_MAX_QUEUED_REQUESTS" class="member-name-link">DEFAULT_MAX_QUEUED_REQUESTS</a> - Static variable in class org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/TBoundedThreadPoolServer.html" title="class in org.apache.hadoop.hbase.thrift">TBoundedThreadPoolServer</a></dt>
@@ -29459,6 +29483,10 @@ loadScripts(document, 'script');</script>
<dd>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#DEFAULT_OVERSUBSCRIPTION_DECREMENT" class="member-name-link">DEFAULT_OVERSUBSCRIPTION_DECREMENT</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#DEFAULT_OVERSUBSCRIPTION_INCREMENT" class="member-name-link">DEFAULT_OVERSUBSCRIPTION_INCREMENT</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/throttle/StoreHotnessProtector.html#DEFAULT_PARALLEL_PREPARE_PUT_STORE_MULTIPLIER" class="member-name-link">DEFAULT_PARALLEL_PREPARE_PUT_STORE_MULTIPLIER</a> - Static variable in class org.apache.hadoop.hbase.regionserver.throttle.<a href="org/apache/hadoop/hbase/regionserver/throttle/StoreHotnessProtector.html" title="class in org.apache.hadoop.hbase.regionserver.throttle">StoreHotnessProtector</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/throttle/StoreHotnessProtector.html#DEFAULT_PARALLEL_PUT_STORE_THREADS_LIMIT" class="member-name-link">DEFAULT_PARALLEL_PUT_STORE_THREADS_LIMIT</a> - Static variable in class org.apache.hadoop.hbase.regionserver.throttle.<a href="org/apache/hadoop/hbase/regionserver/throttle/StoreHotnessProtector.html" title="class in org.apache.hadoop.hbase.regionserver.throttle">StoreHotnessProtector</a></dt>
@@ -29892,6 +29920,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#DEFAULT_USER_COPROCESSORS_ENABLED" class="member-name-link">DEFAULT_USER_COPROCESSORS_ENABLED</a> - Static variable in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#DEFAULT_UTILIZATION_ERROR_BUDGET" class="member-name-link">DEFAULT_UTILIZATION_ERROR_BUDGET</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/PerformanceEvaluation.html#DEFAULT_VALUE_LENGTH" class="member-name-link">DEFAULT_VALUE_LENGTH</a> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.html#DEFAULT_VALUES" class="member-name-link">DEFAULT_VALUES</a> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">ColumnFamilyDescriptorBuilder</a></dt>
@@ -33911,6 +33941,8 @@ loadScripts(document, 'script');</script>
</dd>
<dt><a href="org/apache/hadoop/hbase/io/hfile/BloomFilterMetrics.html#eligibleRequests" class="member-name-link">eligibleRequests</a> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BloomFilterMetrics.html" title="class in org.apache.hadoop.hbase.io.hfile">BloomFilterMetrics</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#emaAlpha" class="member-name-link">emaAlpha</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.Type.html#EMPTY" class="member-name-link">EMPTY</a> - Enum constant in enum class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.Type.html" title="enum class in org.apache.hadoop.hbase.regionserver.wal">RingBufferTruck.Type</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/security/access/Permission.Scope.html#EMPTY" class="member-name-link">EMPTY</a> - Enum constant in enum class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/Permission.Scope.html" title="enum class in org.apache.hadoop.hbase.security.access">Permission.Scope</a></dt>
@@ -38424,6 +38456,46 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/rest/MetricsRESTSourceImpl.html#fDel" class="member-name-link">fDel</a> - Variable in class org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/MetricsRESTSourceImpl.html" title="class in org.apache.hadoop.hbase.rest">MetricsRESTSourceImpl</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT" class="member-name-link">FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd>
+<div class="block">Amount to decrease the backoff multiplier when no contention is detected per refill interval.</div>
+</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT" class="member-name-link">FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd>
+<div class="block">Amount to increase the backoff multiplier when contention is detected per refill interval.</div>
+</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER" class="member-name-link">FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd>
+<div class="block">Maximum ceiling for the backoff multiplier to avoid unbounded waits.</div>
+</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION" class="member-name-link">FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd>
+<div class="block">Maximum ceiling for oversubscription to prevent unbounded bursts.</div>
+</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT" class="member-name-link">FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd>
+<div class="block">Amount to decrease the oversubscription proportion when utilization exceeds (1.0+errorBudget).</div>
+</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT" class="member-name-link">FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd>
+<div class="block">Amount to increase the oversubscription proportion when utilization is below (1.0-errorBudget).</div>
+</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET" class="member-name-link">FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd>
+<div class="block">Acceptable deviation around full utilization (1.0) for adjusting oversubscription.</div>
+</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a> - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
+<dd>
+<div class="block">An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns
+ to achieve stable, full utilization of configured quota allowances while managing client
+ contention.</div>
+</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#%3Cinit%3E(long,double,double,double,double,double,double,double)" class="member-name-link">FeedbackAdaptiveRateLimiter(long, double, double, double, double, double, double, double)</a> - Constructor for class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a> - Class in <a href="org/apache/hadoop/hbase/quotas/package-summary.html">org.apache.hadoop.hbase.quotas</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#%3Cinit%3E(org.apache.hadoop.conf.Configuration)" class="member-name-link">FeedbackAdaptiveRateLimiterFactory(Configuration)</a> - Constructor for class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAda [...]
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/security/visibility/FeedUserAuthScanLabelGenerator.html" class="type-name-link" title="class in org.apache.hadoop.hbase.security.visibility">FeedUserAuthScanLabelGenerator</a> - Class in <a href="org/apache/hadoop/hbase/security/visibility/package-summary.html">org.apache.hadoop.hbase.security.visibility</a></dt>
<dd>
<div class="block">If the passed in authorization is null, then this ScanLabelGenerator feeds the set of predefined
@@ -38986,6 +39058,11 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/io/hfile/HFileBlockBuilder.html#fillHeader" class="member-name-link">fillHeader</a> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/HFileBlockBuilder.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlockBuilder</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/RpcThrottlingException.html#fillInStackTrace()" class="member-name-link">fillInStackTrace()</a> - Method in exception org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/RpcThrottlingException.html" title="class in org.apache.hadoop.hbase.quotas">RpcThrottlingException</a></dt>
+<dd>
+<div class="block">There is little value in an RpcThrottlingException having a stack trace, since its cause is
+ well understood without one.</div>
+</dd>
<dt><a href="org/apache/hadoop/hbase/PrivateCellUtil.html#fillQualifierRange(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.util.ByteRange)" class="member-name-link">fillQualifierRange(Cell, ByteRange)</a> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/PrivateCellUtil.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/util/ModifyRegionUtils.RegionFillTask.html#fillRegion(org.apache.hadoop.hbase.regionserver.HRegion)" class="member-name-link">fillRegion(HRegion)</a> - Method in interface org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/ModifyRegionUtils.RegionFillTask.html" title="interface in org.apache.hadoop.hbase.util">ModifyRegionUtils.RegionFillTask</a></dt>
@@ -55948,6 +56025,8 @@ loadScripts(document, 'script');</script>
</dd>
<dt><a href="org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.html#getNextRefillTime()" class="member-name-link">getNextRefillTime()</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">AverageIntervalRateLimiter</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#getNextRefillTime()" class="member-name-link">getNextRefillTime()</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html#getNextRefillTime()" class="member-name-link">getNextRefillTime()</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FixedIntervalRateLimiter</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/RateLimiter.html#getNextRefillTime()" class="member-name-link">getNextRefillTime()</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a></dt>
@@ -57343,6 +57422,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/master/janitor/CatalogJanitorReport.html#getOverlaps()" class="member-name-link">getOverlaps()</a> - Method in class org.apache.hadoop.hbase.master.janitor.<a href="org/apache/hadoop/hbase/master/janitor/CatalogJanitorReport.html" title="class in org.apache.hadoop.hbase.master.janitor">CatalogJanitorReport</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#getOversubscribedLimit(long)" class="member-name-link">getOversubscribedLimit(long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/client/SnapshotDescription.html#getOwner()" class="member-name-link">getOwner()</a> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/master/assignment/RegionStateNodeLock.QueueEntry.html#getOwner()" class="member-name-link">getOwner()</a> - Method in interface org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/RegionStateNodeLock.QueueEntry.html" title="interface in org.apache.hadoop.hbase.master.assignment">RegionStateNodeLock.QueueEntry</a></dt>
@@ -59334,6 +59415,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/StoreFileInfo.html#getReferredToRegionAndFile(java.lang.String)" class="member-name-link">getReferredToRegionAndFile(String)</a> - Static method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#getRefillIntervalAdjustedLimit(long)" class="member-name-link">getRefillIntervalAdjustedLimit(long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html#getRefillIntervalAdjustedLimit(long)" class="member-name-link">getRefillIntervalAdjustedLimit(long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FixedIntervalRateLimiter</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/client/RegistryEndpointsRefresher.html#getRefreshIntervalMs(boolean)" class="member-name-link">getRefreshIntervalMs(boolean)</a> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RegistryEndpointsRefresher.html" title="class in org.apache.hadoop.hbase.client">RegistryEndpointsRefresher</a></dt>
@@ -68467,6 +68550,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.html#getWaitInterval(long,long,long)" class="member-name-link">getWaitInterval(long, long, long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">AverageIntervalRateLimiter</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#getWaitInterval(long,long,long)" class="member-name-link">getWaitInterval(long, long, long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html#getWaitInterval(long,long,long)" class="member-name-link">getWaitInterval(long, long, long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FixedIntervalRateLimiter</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/RateLimiter.html#getWaitInterval(long,long,long)" class="member-name-link">getWaitInterval(long, long, long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a></dt>
@@ -69696,6 +69781,8 @@ loadScripts(document, 'script');</script>
</dd>
<dt><a href="org/apache/hadoop/hbase/zookeeper/ZKMainServer.HACK_UNTIL_ZOOKEEPER_1897_ZooKeeperMain.html#%3Cinit%3E(java.lang.String%5B%5D)" class="member-name-link">HACK_UNTIL_ZOOKEEPER_1897_ZooKeeperMain(String[])</a> - Constructor for class org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/ZKMainServer.HACK_UNTIL_ZOOKEEPER_1897_ZooKeeperMain.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKMainServer.HACK_UNTIL_ZOOKEEPER_1897_ZooKeeperMain</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#hadContentionThisInterval" class="member-name-link">hadContentionThisInterval</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/util/JSONMetricUtil.html#HADOOP_DOMAIN" class="member-name-link">HADOOP_DOMAIN</a> - Static variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/JSONMetricUtil.html" title="class in org.apache.hadoop.hbase.util">JSONMetricUtil</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/http/InfoServer.html#HADOOP_WEB_TLS_CONFIG_PREFIX" class="member-name-link">HADOOP_WEB_TLS_CONFIG_PREFIX</a> - Static variable in class org.apache.hadoop.hbase.http.<a href="org/apache/hadoop/hbase/http/InfoServer.html" title="class in org.apache.hadoop.hbase.http">InfoServer</a></dt>
@@ -84809,6 +84896,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/util/SortedList.html#lastIndexOf(java.lang.Object)" class="member-name-link">lastIndexOf(Object)</a> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/SortedList.html" title="class in org.apache.hadoop.hbase.util">SortedList</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#lastIntervalConsumed" class="member-name-link">lastIntervalConsumed</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/HStoreFile.html#lastKey" class="member-name-link">lastKey</a> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/io/hfile/HFileInfo.html#lastKey()" class="member-name-link">lastKey()</a> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/HFileInfo.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileInfo</a></dt>
@@ -92160,6 +92249,10 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/client/backoff/ExponentialClientBackoffPolicy.html#maxBackoff" class="member-name-link">maxBackoff</a> - Variable in class org.apache.hadoop.hbase.client.backoff.<a href="org/apache/hadoop/hbase/client/backoff/ExponentialClientBackoffPolicy.html" title="class in org.apache.hadoop.hbase.client.backoff">ExponentialClientBackoffPolicy</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#maxBackoffMultiplier" class="member-name-link">maxBackoffMultiplier</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#maxBackoffMultiplier" class="member-name-link">maxBackoffMultiplier</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/master/HMaster.html#maxBalancingTime" class="member-name-link">maxBalancingTime</a> - Variable in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#maxBlockBytesScanned" class="member-name-link">maxBlockBytesScanned</a> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a></dt>
@@ -92438,6 +92531,10 @@ loadScripts(document, 'script');</script>
<dd>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#maxOversubscription" class="member-name-link">maxOversubscription</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#maxOversubscription" class="member-name-link">maxOversubscription</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/regionreplication/RegionReplicationBufferManager.html#maxPendingSize" class="member-name-link">maxPendingSize</a> - Variable in class org.apache.hadoop.hbase.regionserver.regionreplication.<a href="org/apache/hadoop/hbase/regionserver/regionreplication/RegionReplicationBufferManager.html" title="class in org.apache.hadoop.hbase.regionserver.regionreplication">RegionReplicationBufferManager</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html#maxPoolSize" class="member-name-link">maxPoolSize</a> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor</a></dt>
@@ -92584,6 +92681,8 @@ loadScripts(document, 'script');</script>
<dd>
<div class="block">Max tags length</div>
</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#maxTargetUtilization" class="member-name-link">maxTargetUtilization</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/master/WorkerAssigner.html#maxTasks" class="member-name-link">maxTasks</a> - Variable in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/WorkerAssigner.html" title="class in org.apache.hadoop.hbase.master">WorkerAssigner</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/monitoring/TaskMonitor.html#maxTasks" class="member-name-link">maxTasks</a> - Variable in class org.apache.hadoop.hbase.monitoring.<a href="org/apache/hadoop/hbase/monitoring/TaskMonitor.html" title="class in org.apache.hadoop.hbase.monitoring">TaskMonitor</a></dt>
@@ -95571,6 +95670,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/util/LoadTestDataGeneratorWithTags.html#minTagLength" class="member-name-link">minTagLength</a> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/LoadTestDataGeneratorWithTags.html" title="class in org.apache.hadoop.hbase.util">LoadTestDataGeneratorWithTags</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#minTargetUtilization" class="member-name-link">minTargetUtilization</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/client/RegistryEndpointsRefresher.html#minTimeBetweenRefreshesMs" class="member-name-link">minTimeBetweenRefreshesMs</a> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RegistryEndpointsRefresher.html" title="class in org.apache.hadoop.hbase.client">RegistryEndpointsRefresher</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/filter/TimestampsFilter.html#minTimestamp" class="member-name-link">minTimestamp</a> - Variable in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TimestampsFilter.html" title="class in org.apache.hadoop.hbase.filter">TimestampsFilter</a></dt>
@@ -99119,6 +99220,8 @@ loadScripts(document, 'script');</script>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.html#nextRefillTime" class="member-name-link">nextRefillTime</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">AverageIntervalRateLimiter</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#nextRefillTime" class="member-name-link">nextRefillTime</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html#nextRefillTime" class="member-name-link">nextRefillTime</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FixedIntervalRateLimiter</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.BalanceInfo.html#nextRegionForUnload" class="member-name-link">nextRegionForUnload</a> - Variable in class org.apache.hadoop.hbase.master.balancer.<a href="org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.BalanceInfo.html" title="class in org.apache.hadoop.hbase.master.balancer">SimpleLoadBalancer.BalanceInfo</a></dt>
@@ -103362,6 +103465,16 @@ service.</div>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/client/MetricsConnection.html#overloadedBackoffTimer" class="member-name-link">overloadedBackoffTimer</a> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/MetricsConnection.html" title="class in org.apache.hadoop.hbase.client">MetricsConnection</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#oversubscriptionDecrement" class="member-name-link">oversubscriptionDecrement</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#oversubscriptionDecrement" class="member-name-link">oversubscriptionDecrement</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#oversubscriptionIncrement" class="member-name-link">oversubscriptionIncrement</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#oversubscriptionIncrement" class="member-name-link">oversubscriptionIncrement</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#oversubscriptionProportion" class="member-name-link">oversubscriptionProportion</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/backup/RestoreRequest.html#overwrite" class="member-name-link">overwrite</a> - Variable in class org.apache.hadoop.hbase.backup.<a href="org/apache/hadoop/hbase/backup/RestoreRequest.html" title="class in org.apache.hadoop.hbase.backup">RestoreRequest</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/snapshot/ExportSnapshot.html#overwrite" class="member-name-link">overwrite</a> - Variable in class org.apache.hadoop.hbase.snapshot.<a href="org/apache/hadoop/hbase/snapshot/ExportSnapshot.html" title="class in org.apache.hadoop.hbase.snapshot">ExportSnapshot</a></dt>
@@ -114299,12 +114412,18 @@ service.</div>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.html#refill(long)" class="member-name-link">refill(long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">AverageIntervalRateLimiter</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#refill(long)" class="member-name-link">refill(long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html#refill(long)" class="member-name-link">refill(long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FixedIntervalRateLimiter</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/RateLimiter.html#refill(long)" class="member-name-link">refill(long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a></dt>
<dd>
<div class="block">Refill the available units w.r.t the elapsed time.</div>
</dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#refillInterval" class="member-name-link">refillInterval</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#refillInterval" class="member-name-link">refillInterval</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html#refillInterval" class="member-name-link">refillInterval</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FixedIntervalRateLimiter</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/MemStoreCompactorSegmentsIterator.html#refillKVS()" class="member-name-link">refillKVS()</a> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MemStoreCompactorSegmentsIterator.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreCompactorSegmentsIterator</a></dt>
@@ -130969,6 +131088,8 @@ service.</div>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.html#setNextRefillTime(long)" class="member-name-link">setNextRefillTime(long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">AverageIntervalRateLimiter</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#setNextRefillTime(long)" class="member-name-link">setNextRefillTime(long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html#setNextRefillTime(long)" class="member-name-link">setNextRefillTime(long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FixedIntervalRateLimiter</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/quotas/RateLimiter.html#setNextRefillTime(long)" class="member-name-link">setNextRefillTime(long)</a> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a></dt>
@@ -152194,6 +152315,10 @@ service.</div>
</dd>
<dt><a href="org/apache/hadoop/hbase/testing/TestingHBaseClusterImpl.html#util" class="member-name-link">util</a> - Variable in class org.apache.hadoop.hbase.testing.<a href="org/apache/hadoop/hbase/testing/TestingHBaseClusterImpl.html" title="class in org.apache.hadoop.hbase.testing">TestingHBaseClusterImpl</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#utilizationEma" class="member-name-link">utilizationEma</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#utilizationErrorBudget" class="member-name-link">utilizationErrorBudget</a> - Variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/mob/MobFileName.html#uuid" class="member-name-link">uuid</a> - Variable in class org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/MobFileName.html" title="class in org.apache.hadoop.hbase.mob">MobFileName</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/mob/MobFileName.html#UUID_END_INDEX" class="member-name-link">UUID_END_INDEX</a> - Static variable in class org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/MobFileName.html" title="class in org.apache.hadoop.hbase.mob">MobFileName</a></dt>
@@ -156882,6 +157007,8 @@ the order they are declared.</div>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/compactions/ExponentialCompactionWindowFactory.Window.html#%3Cinit%3E(long,long,long)" class="member-name-link">Window(long, long, long)</a> - Constructor for class org.apache.hadoop.hbase.regionserver.compactions.<a href="org/apache/hadoop/hbase/regionserver/compactions/ExponentialCompactionWindowFactory.Window.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">ExponentialCompactionWindowFactory.Window</a></dt>
<dd> </dd>
+<dt><a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#WINDOW_TIME_MS" class="member-name-link">WINDOW_TIME_MS</a> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/compactions/DateTieredCompactionPolicy.html#windowFactory" class="member-name-link">windowFactory</a> - Variable in class org.apache.hadoop.hbase.regionserver.compactions.<a href="org/apache/hadoop/hbase/regionserver/compactions/DateTieredCompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">DateTieredCompactionPolicy</a></dt>
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/io/hfile/CacheStats.html#windowIndex" class="member-name-link">windowIndex</a> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></dt>
diff --git a/devapidocs/member-search-index.js b/devapidocs/member-search-index.js
index 8ed7366cf5e..c3004c6bcf1 100644
--- a/devapidocs/member-search-index.js
+++ b/devapidocs/member-search-index.js
@@ -1 +1 @@
-memberSearchIndex = [{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getBlockcache()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getBlocksize()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getBloomfilter()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getCompression()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getInMemory()"},{"p":"org.apache. [...]
\ No newline at end of file
+memberSearchIndex = [{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getBlockcache()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getBlocksize()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getBloomfilter()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getCompression()"},{"p":"org.apache.hadoop.hbase.rest.model","c":"ColumnSchemaModel","l":"__getInMemory()"},{"p":"org.apache. [...]
\ No newline at end of file
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html b/devapidocs/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html
new file mode 100644
index 00000000000..567750b3ebd
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html
@@ -0,0 +1,259 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) -->
+<title>FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory (Apache HBase 4.0.0-alpha-1-SNAPSHOT API)</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="description" content="declaration: package: org.apache.hadoop.hbase.quotas, class: FeedbackAdaptiveRateLimiter, class: FeedbackAdaptiveRateLimiterFactory">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../index.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="class-use/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary: </li>
+<li>Nested | </li>
+<li><a href="#field-summary">Field</a> | </li>
+<li><a href="#constructor-summary">Constr</a> | </li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail: </li>
+<li><a href="#field-detail">Field</a> | </li>
+<li><a href="#constructor-detail">Constr</a> | </li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">org.apache.hadoop.hbase.quotas</a></div>
+<h1 title="Class FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory" class="title">Class FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</div>
+</div>
+<section class="class-description" id="class-description">
+<dl class="notes">
+<dt>Enclosing class:</dt>
+<dd><a href="FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></dd>
+</dl>
+<hr>
+<div class="type-signature"><span class="modifiers">public static class </span><span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-161">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- =========== FIELD SUMMARY =========== -->
+<li>
+<section class="field-summary" id="field-summary">
+<h2>Field Summary</h2>
+<div class="caption"><span>Fields</span></div>
+<div class="summary-table three-column-summary">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Field</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><code>private final double</code></div>
+<div class="col-second even-row-color"><code><a href="#backoffMultiplierDecrement" class="member-name-link">backoffMultiplierDecrement</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>private final double</code></div>
+<div class="col-second odd-row-color"><code><a href="#backoffMultiplierIncrement" class="member-name-link">backoffMultiplierIncrement</a></code></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><code>private final double</code></div>
+<div class="col-second even-row-color"><code><a href="#maxBackoffMultiplier" class="member-name-link">maxBackoffMultiplier</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>private final double</code></div>
+<div class="col-second odd-row-color"><code><a href="#maxOversubscription" class="member-name-link">maxOversubscription</a></code></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><code>private final double</code></div>
+<div class="col-second even-row-color"><code><a href="#oversubscriptionDecrement" class="member-name-link">oversubscriptionDecrement</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>private final double</code></div>
+<div class="col-second odd-row-color"><code><a href="#oversubscriptionIncrement" class="member-name-link">oversubscriptionIncrement</a></code></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><code>private final long</code></div>
+<div class="col-second even-row-color"><code><a href="#refillInterval" class="member-name-link">refillInterval</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>private final double</code></div>
+<div class="col-second odd-row-color"><code><a href="#utilizationErrorBudget" class="member-name-link">utilizationErrorBudget</a></code></div>
+<div class="col-last odd-row-color"> </div>
+</div>
+</section>
+</li>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.hadoop.conf.Configuration)" class="member-name-link">FeedbackAdaptiveRateLimiterFactory</a><wbr>(org.apache.hadoop.conf.Configuration conf)</code></div>
+<div class="col-last even-row-color"> </div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab( [...]
+<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
+<div class="summary-table three-column-summary">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#create()" class="member-name-link">create</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or [...]
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ============ FIELD DETAIL =========== -->
+<li>
+<section class="field-details" id="field-detail">
+<h2>Field Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="refillInterval">
+<h3>refillInterval</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#line-163">refillInterval</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="backoffMultiplierIncrement">
+<h3>backoffMultiplierIncrement</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#line-164">backoffMultiplierIncrement</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="backoffMultiplierDecrement">
+<h3>backoffMultiplierDecrement</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#line-165">backoffMultiplierDecrement</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="maxBackoffMultiplier">
+<h3>maxBackoffMultiplier</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#line-166">maxBackoffMultiplier</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="oversubscriptionIncrement">
+<h3>oversubscriptionIncrement</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#line-167">oversubscriptionIncrement</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="oversubscriptionDecrement">
+<h3>oversubscriptionDecrement</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#line-168">oversubscriptionDecrement</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="maxOversubscription">
+<h3>maxOversubscription</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#line-169">maxOversubscription</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="utilizationErrorBudget">
+<h3>utilizationErrorBudget</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#line-170">utilizationErrorBudget</a></span></div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="<init>(org.apache.hadoop.conf.Configuration)">
+<h3>FeedbackAdaptiveRateLimiterFactory</h3>
+<div class="member-signature"><span class="modifiers">public</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#line-172">FeedbackAdaptiveRateLimiterFactory</a></span><wbr><span class="parameters">(org.apache.hadoop.conf.Configuration conf)</span></div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="create()">
+<h3>create</h3>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#line-195">create</a></span>()</div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+<footer role="contentinfo">
+<hr>
+<p class="legal-copy"><small>Copyright © 2007–2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</footer>
+</div>
+</div>
+</body>
+</html>
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html b/devapidocs/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html
new file mode 100644
index 00000000000..37ef2f7e5aa
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html
@@ -0,0 +1,828 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) -->
+<title>FeedbackAdaptiveRateLimiter (Apache HBase 4.0.0-alpha-1-SNAPSHOT API)</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="description" content="declaration: package: org.apache.hadoop.hbase.quotas, class: FeedbackAdaptiveRateLimiter">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../index.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="class-use/FeedbackAdaptiveRateLimiter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary: </li>
+<li><a href="#nested-class-summary">Nested</a> | </li>
+<li><a href="#field-summary">Field</a> | </li>
+<li><a href="#constructor-summary">Constr</a> | </li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail: </li>
+<li><a href="#field-detail">Field</a> | </li>
+<li><a href="#constructor-detail">Constr</a> | </li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">org.apache.hadoop.hbase.quotas</a></div>
+<h1 title="Class FeedbackAdaptiveRateLimiter" class="title">Class FeedbackAdaptiveRateLimiter</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance"><a href="RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">org.apache.hadoop.hbase.quotas.RateLimiter</a>
+<div class="inheritance">org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</div>
+</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="type-signature"><span class="annotations">@Private
+@Evolving
+</span><span class="modifiers">public class </span><span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-95">FeedbackAdaptiveRateLimiter</a></span>
+<span class="extends-implements">extends <a href="RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a></span></div>
+<div class="block">An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns
+ to achieve stable, full utilization of configured quota allowances while managing client
+ contention.
+ <p>
+ <b>Core Algorithm:</b> This rate limiter divides time into fixed refill intervals (configurable
+ via <code>hbase.quota.rate.limiter.refill.interval.ms</code>, default is 1 refill per TimeUnit of the
+ RateLimiter). At the beginning of each interval, a fresh allocation of resources becomes
+ available based on the configured limit. Clients consume resources as they make requests. When
+ resources are exhausted, clients must wait until the next refill, or until enough resources
+ become available.
+ <p>
+ <b>Adaptive Backpressure:</b> When multiple threads compete for limited resources (contention),
+ this limiter detects the contention and applies increasing backpressure by extending wait
+ intervals. This prevents thundering herd behavior where many threads wake simultaneously and
+ compete for the same resources. The backoff multiplier increases by a small increment (see
+ <a href="#FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT"><code>FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT</code></a>) per interval when contention occurs, and
+ decreases (see <a href="#FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT"><code>FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT</code></a>) when no contention is
+ detected, converging toward optimal throughput. The multiplier is capped at a maximum value (see
+ <a href="#FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER"><code>FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER</code></a>) to prevent unbounded waits.
+ <p>
+ Contention is detected when <a href="#getWaitInterval(long,long,long)"><code>getWaitInterval(long, long, long)</code></a> is called with insufficient available
+ resources (i.e., <code>amount > available</code>), indicating a thread needs to wait for resources. If
+ this occurs more than once in a refill interval, the limiter identifies it as contention
+ requiring increased backpressure.
+ <p>
+ <b>Oversubscription for Full Utilization:</b> In practice, synchronization overhead and timing
+ variations often prevent clients from consuming exactly their full allowance, resulting in
+ consistent under-utilization. This limiter addresses this by tracking utilization via an
+ exponentially weighted moving average (EWMA). When average utilization falls below the target
+ range (determined by <a href="#FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET"><code>FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET</code></a>), the limiter gradually
+ increases the oversubscription proportion (see
+ <a href="#FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT"><code>FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT</code></a>), allowing more resources per interval than
+ the base limit. Conversely, when utilization exceeds the target range, oversubscription is
+ decreased (see <a href="#FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT"><code>FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT</code></a>). Oversubscription is capped
+ (see <a href="#FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION"><code>FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION</code></a>) to prevent excessive bursts while still
+ enabling consistent full utilization.
+ <p>
+ <b>Example Scenario:</b> Consider a quota of 1000 requests per second with a 1-second refill
+ interval. Without oversubscription, clients might typically achieve only 950 req/s due to
+ coordination delays. This limiter would detect the under-utilization, gradually increase
+ oversubscription, allowing slightly more resources per interval, which compensates for
+ inefficiencies and achieves stable throughput closer to the configured quota. If multiple threads
+ simultaneously try to consume resources and repeatedly wait, the backoff multiplier increases
+ their wait times, spreading out their retry attempts and reducing wasted CPU cycles.
+ <p>
+ <b>Configuration Parameters:</b>
+ <ul>
+ <li><a href="#FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT"><code>FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT</code></a>: Controls rate of backpressure
+ increase</li>
+ <li><a href="#FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT"><code>FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT</code></a>: Controls rate of backpressure
+ decrease</li>
+ <li><a href="#FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER"><code>FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER</code></a>: Caps the maximum wait time extension</li>
+ <li><a href="#FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT"><code>FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT</code></a>: Controls rate of oversubscription
+ increase</li>
+ <li><a href="#FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT"><code>FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT</code></a>: Controls rate of oversubscription
+ decrease</li>
+ <li><a href="#FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION"><code>FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION</code></a>: Caps the maximum burst capacity</li>
+ <li><a href="#FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET"><code>FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET</code></a>: Defines the acceptable range around full
+ utilization</li>
+ </ul>
+ <p>
+ This algorithm converges toward stable operation where: (1) wait intervals are just long enough
+ to prevent excessive contention, and (2) oversubscription is just high enough to achieve
+ consistent full utilization of the configured allowance.</div>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<li>
+<section class="nested-class-summary" id="nested-class-summary">
+<h2>Nested Class Summary</h2>
+<div class="caption"><span>Nested Classes</span></div>
+<div class="summary-table three-column-summary">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Class</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><code>static class </code></div>
+<div class="col-second even-row-color"><code><a href="FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></code></div>
+<div class="col-last even-row-color"> </div>
+</div>
+</section>
+</li>
+<!-- =========== FIELD SUMMARY =========== -->
+<li>
+<section class="field-summary" id="field-summary">
+<h2>Field Summary</h2>
+<div class="caption"><span>Fields</span></div>
+<div class="summary-table three-column-summary">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Field</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><code>private final double</code></div>
+<div class="col-second even-row-color"><code><a href="#backoffMultiplierDecrement" class="member-name-link">backoffMultiplierDecrement</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>private final double</code></div>
+<div class="col-second odd-row-color"><code><a href="#backoffMultiplierIncrement" class="member-name-link">backoffMultiplierIncrement</a></code></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><code>private final org.apache.hbase.thirdparty.com.google.common.util.concurrent.AtomicDouble</code></div>
+<div class="col-second even-row-color"><code><a href="#currentBackoffMultiplier" class="member-name-link">currentBackoffMultiplier</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>static final double</code></div>
+<div class="col-second odd-row-color"><code><a href="#DEFAULT_BACKOFF_MULTIPLIER_DECREMENT" class="member-name-link">DEFAULT_BACKOFF_MULTIPLIER_DECREMENT</a></code></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><code>static final double</code></div>
+<div class="col-second even-row-color"><code><a href="#DEFAULT_BACKOFF_MULTIPLIER_INCREMENT" class="member-name-link">DEFAULT_BACKOFF_MULTIPLIER_INCREMENT</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>static final double</code></div>
+<div class="col-second odd-row-color"><code><a href="#DEFAULT_MAX_BACKOFF_MULTIPLIER" class="member-name-link">DEFAULT_MAX_BACKOFF_MULTIPLIER</a></code></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><code>static final double</code></div>
+<div class="col-second even-row-color"><code><a href="#DEFAULT_MAX_OVERSUBSCRIPTION" class="member-name-link">DEFAULT_MAX_OVERSUBSCRIPTION</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>static final double</code></div>
+<div class="col-second odd-row-color"><code><a href="#DEFAULT_OVERSUBSCRIPTION_DECREMENT" class="member-name-link">DEFAULT_OVERSUBSCRIPTION_DECREMENT</a></code></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><code>static final double</code></div>
+<div class="col-second even-row-color"><code><a href="#DEFAULT_OVERSUBSCRIPTION_INCREMENT" class="member-name-link">DEFAULT_OVERSUBSCRIPTION_INCREMENT</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>static final double</code></div>
+<div class="col-second odd-row-color"><code><a href="#DEFAULT_UTILIZATION_ERROR_BUDGET" class="member-name-link">DEFAULT_UTILIZATION_ERROR_BUDGET</a></code></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><code>private final double</code></div>
+<div class="col-second even-row-color"><code><a href="#emaAlpha" class="member-name-link">emaAlpha</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color"><code><a href="#FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT" class="member-name-link">FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT</a></code></div>
+<div class="col-last odd-row-color">
+<div class="block">Amount to decrease the backoff multiplier when no contention is detected per refill interval.</div>
+</div>
+<div class="col-first even-row-color"><code>static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color"><code><a href="#FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT" class="member-name-link">FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT</a></code></div>
+<div class="col-last even-row-color">
+<div class="block">Amount to increase the backoff multiplier when contention is detected per refill interval.</div>
+</div>
+<div class="col-first odd-row-color"><code>static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color"><code><a href="#FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER" class="member-name-link">FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER</a></code></div>
+<div class="col-last odd-row-color">
+<div class="block">Maximum ceiling for the backoff multiplier to avoid unbounded waits.</div>
+</div>
+<div class="col-first even-row-color"><code>static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color"><code><a href="#FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION" class="member-name-link">FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION</a></code></div>
+<div class="col-last even-row-color">
+<div class="block">Maximum ceiling for oversubscription to prevent unbounded bursts.</div>
+</div>
+<div class="col-first odd-row-color"><code>static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color"><code><a href="#FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT" class="member-name-link">FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT</a></code></div>
+<div class="col-last odd-row-color">
+<div class="block">Amount to decrease the oversubscription proportion when utilization exceeds (1.0+errorBudget).</div>
+</div>
+<div class="col-first even-row-color"><code>static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color"><code><a href="#FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT" class="member-name-link">FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT</a></code></div>
+<div class="col-last even-row-color">
+<div class="block">Amount to increase the oversubscription proportion when utilization is below (1.0-errorBudget).</div>
+</div>
+<div class="col-first odd-row-color"><code>static final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color"><code><a href="#FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET" class="member-name-link">FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET</a></code></div>
+<div class="col-last odd-row-color">
+<div class="block">Acceptable deviation around full utilization (1.0) for adjusting oversubscription.</div>
+</div>
+<div class="col-first even-row-color"><code>private boolean</code></div>
+<div class="col-second even-row-color"><code><a href="#hadContentionThisInterval" class="member-name-link">hadContentionThisInterval</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/atomic/AtomicLong.html" title="class or interface in java.util.concurrent.atomic" class="external-link">AtomicLong</a></code></div>
+<div class="col-second odd-row-color"><code><a href="#lastIntervalConsumed" class="member-name-link">lastIntervalConsumed</a></code></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><code>private final double</code></div>
+<div class="col-second even-row-color"><code><a href="#maxBackoffMultiplier" class="member-name-link">maxBackoffMultiplier</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>private final double</code></div>
+<div class="col-second odd-row-color"><code><a href="#maxOversubscription" class="member-name-link">maxOversubscription</a></code></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><code>private final double</code></div>
+<div class="col-second even-row-color"><code><a href="#maxTargetUtilization" class="member-name-link">maxTargetUtilization</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>private final double</code></div>
+<div class="col-second odd-row-color"><code><a href="#minTargetUtilization" class="member-name-link">minTargetUtilization</a></code></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><code>private long</code></div>
+<div class="col-second even-row-color"><code><a href="#nextRefillTime" class="member-name-link">nextRefillTime</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>private final double</code></div>
+<div class="col-second odd-row-color"><code><a href="#oversubscriptionDecrement" class="member-name-link">oversubscriptionDecrement</a></code></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><code>private final double</code></div>
+<div class="col-second even-row-color"><code><a href="#oversubscriptionIncrement" class="member-name-link">oversubscriptionIncrement</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>private final org.apache.hbase.thirdparty.com.google.common.util.concurrent.AtomicDouble</code></div>
+<div class="col-second odd-row-color"><code><a href="#oversubscriptionProportion" class="member-name-link">oversubscriptionProportion</a></code></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><code>private final long</code></div>
+<div class="col-second even-row-color"><code><a href="#refillInterval" class="member-name-link">refillInterval</a></code></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><code>private double</code></div>
+<div class="col-second odd-row-color"><code><a href="#utilizationEma" class="member-name-link">utilizationEma</a></code></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><code>private static final int</code></div>
+<div class="col-second even-row-color"><code><a href="#WINDOW_TIME_MS" class="member-name-link">WINDOW_TIME_MS</a></code></div>
+<div class="col-last even-row-color"> </div>
+</div>
+<div class="inherited-list">
+<h3 id="fields-inherited-from-class-org.apache.hadoop.hbase.quotas.RateLimiter">Fields inherited from class org.apache.hadoop.hbase.quotas.<a href="RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a></h3>
+<code><a href="RateLimiter.html#DEFAULT_TIME_UNIT">DEFAULT_TIME_UNIT</a>, <a href="RateLimiter.html#QUOTA_RATE_LIMITER_CONF_KEY">QUOTA_RATE_LIMITER_CONF_KEY</a></code></div>
+</section>
+</li>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(long,double,double,double,double,double,double,double)" class="member-name-link">FeedbackAdaptiveRateLimiter</a><wbr>(long refillInterval,
+ double backoffMultiplierIncrement,
+ double backoffMultiplierDecrement,
+ double maxBackoffMultiplier,
+ double oversubscriptionIncrement,
+ double oversubscriptionDecrement,
+ double maxOversubscription,
+ double utilizationErrorBudget)</code></div>
+<div class="col-last even-row-color"> </div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab( [...]
+<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
+<div class="summary-table three-column-summary">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private long</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#applyBackoffMultiplier(long)" class="member-name-link">applyBackoffMultiplier</a><wbr>(long baseWaitInterval)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#consume(long)" class="member-name-link">consume</a><wbr>(long amount)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">consume amount available units, amount could be a negative number</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getNextRefillTime()" class="member-name-link">getNextRefillTime</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private long</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getOversubscribedLimit(long)" class="member-name-link">getOversubscribedLimit</a><wbr>(long limit)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private long</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRefillIntervalAdjustedLimit(long)" class="member-name-link">getRefillIntervalAdjustedLimit</a><wbr>(long limit)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getWaitInterval(long,long,long)" class="member-name-link">getWaitInterval</a><wbr>(long limit,
+ long available,
+ long amount)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Time in milliseconds to wait for before requesting to consume 'amount' resource.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#refill(long)" class="member-name-link">refill</a><wbr>(long limit)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Refill the available units w.r.t the elapsed time.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setNextRefillTime(long)" class="member-name-link">setNextRefillTime</a><wbr>(long nextRefillTime)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-org.apache.hadoop.hbase.quotas.RateLimiter">Methods inherited from class org.apache.hadoop.hbase.quotas.<a href="RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a></h3>
+<code><a href="RateLimiter.html#consume()">consume</a>, <a href="RateLimiter.html#getAvailable()">getAvailable</a>, <a href="RateLimiter.html#getLimit()">getLimit</a>, <a href="RateLimiter.html#getTimeUnitInMillis()">getTimeUnitInMillis</a>, <a href="RateLimiter.html#getWaitIntervalMs()">getWaitIntervalMs</a>, <a href="RateLimiter.html#getWaitIntervalMs(long)">getWaitIntervalMs</a>, <a href="RateLimiter.html#isAvailable(long)">isAvailable</a>, <a href="RateLimiter.html#isBypass()">isBypa [...]
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or [...]
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ============ FIELD DETAIL =========== -->
+<li>
+<section class="field-details" id="field-detail">
+<h2>Field Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT">
+<h3>FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT</h3>
+<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-104">FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT</a></span></div>
+<div class="block">Amount to increase the backoff multiplier when contention is detected per refill interval. In
+ other words, if we are throttling more than once per refill interval, then we will increase our
+ wait intervals (increase backpressure, decrease throughput).</div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="DEFAULT_BACKOFF_MULTIPLIER_INCREMENT">
+<h3>DEFAULT_BACKOFF_MULTIPLIER_INCREMENT</h3>
+<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-106">DEFAULT_BACKOFF_MULTIPLIER_INCREMENT</a></span></div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.DEFAULT_BACKOFF_MULTIPLIER_INCREMENT">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT">
+<h3>FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT</h3>
+<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-113">FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT</a></span></div>
+<div class="block">Amount to decrease the backoff multiplier when no contention is detected per refill interval.
+ In other words, if we are only throttling once per refill interval, then we will decrease our
+ wait interval (decrease backpressure, increase throughput).</div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="DEFAULT_BACKOFF_MULTIPLIER_DECREMENT">
+<h3>DEFAULT_BACKOFF_MULTIPLIER_DECREMENT</h3>
+<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-115">DEFAULT_BACKOFF_MULTIPLIER_DECREMENT</a></span></div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.DEFAULT_BACKOFF_MULTIPLIER_DECREMENT">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER">
+<h3>FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER</h3>
+<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-120">FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER</a></span></div>
+<div class="block">Maximum ceiling for the backoff multiplier to avoid unbounded waits.</div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="DEFAULT_MAX_BACKOFF_MULTIPLIER">
+<h3>DEFAULT_MAX_BACKOFF_MULTIPLIER</h3>
+<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-122">DEFAULT_MAX_BACKOFF_MULTIPLIER</a></span></div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.DEFAULT_MAX_BACKOFF_MULTIPLIER">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT">
+<h3>FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT</h3>
+<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-127">FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT</a></span></div>
+<div class="block">Amount to increase the oversubscription proportion when utilization is below (1.0-errorBudget).</div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="DEFAULT_OVERSUBSCRIPTION_INCREMENT">
+<h3>DEFAULT_OVERSUBSCRIPTION_INCREMENT</h3>
+<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-129">DEFAULT_OVERSUBSCRIPTION_INCREMENT</a></span></div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.DEFAULT_OVERSUBSCRIPTION_INCREMENT">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT">
+<h3>FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT</h3>
+<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-134">FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT</a></span></div>
+<div class="block">Amount to decrease the oversubscription proportion when utilization exceeds (1.0+errorBudget).</div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="DEFAULT_OVERSUBSCRIPTION_DECREMENT">
+<h3>DEFAULT_OVERSUBSCRIPTION_DECREMENT</h3>
+<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-136">DEFAULT_OVERSUBSCRIPTION_DECREMENT</a></span></div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.DEFAULT_OVERSUBSCRIPTION_DECREMENT">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION">
+<h3>FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION</h3>
+<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-145">FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION</a></span></div>
+<div class="block">Maximum ceiling for oversubscription to prevent unbounded bursts. Some oversubscription can be
+ nice, because it allows you to balance the inefficiency and latency of retries, landing on
+ stable usage at approximately your configured allowance. Without adequate oversubscription,
+ your steady state may often seem significantly, and suspiciously, lower than your configured
+ allowance.</div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="DEFAULT_MAX_OVERSUBSCRIPTION">
+<h3>DEFAULT_MAX_OVERSUBSCRIPTION</h3>
+<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-147">DEFAULT_MAX_OVERSUBSCRIPTION</a></span></div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.DEFAULT_MAX_OVERSUBSCRIPTION">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET">
+<h3>FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET</h3>
+<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-155">FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET</a></span></div>
+<div class="block">Acceptable deviation around full utilization (1.0) for adjusting oversubscription. If stable
+ throttle usage is typically under (1.0-errorBudget), then we will allow more oversubscription.
+ If stable throttle usage is typically over (1.0+errorBudget), then we will pull back
+ oversubscription.</div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="DEFAULT_UTILIZATION_ERROR_BUDGET">
+<h3>DEFAULT_UTILIZATION_ERROR_BUDGET</h3>
+<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-157">DEFAULT_UTILIZATION_ERROR_BUDGET</a></span></div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.DEFAULT_UTILIZATION_ERROR_BUDGET">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="WINDOW_TIME_MS">
+<h3>WINDOW_TIME_MS</h3>
+<div class="member-signature"><span class="modifiers">private static final</span> <span class="return-type">int</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-159">WINDOW_TIME_MS</a></span></div>
+<dl class="notes">
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.WINDOW_TIME_MS">Constant Field Values</a></li>
+</ul>
+</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="nextRefillTime">
+<h3>nextRefillTime</h3>
+<div class="member-signature"><span class="modifiers">private volatile</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-202">nextRefillTime</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="refillInterval">
+<h3>refillInterval</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-203">refillInterval</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="backoffMultiplierIncrement">
+<h3>backoffMultiplierIncrement</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-204">backoffMultiplierIncrement</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="backoffMultiplierDecrement">
+<h3>backoffMultiplierDecrement</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-205">backoffMultiplierDecrement</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="maxBackoffMultiplier">
+<h3>maxBackoffMultiplier</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-206">maxBackoffMultiplier</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="oversubscriptionIncrement">
+<h3>oversubscriptionIncrement</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-207">oversubscriptionIncrement</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="oversubscriptionDecrement">
+<h3>oversubscriptionDecrement</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-208">oversubscriptionDecrement</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="maxOversubscription">
+<h3>maxOversubscription</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-209">maxOversubscription</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="minTargetUtilization">
+<h3>minTargetUtilization</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-210">minTargetUtilization</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="maxTargetUtilization">
+<h3>maxTargetUtilization</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-211">maxTargetUtilization</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="currentBackoffMultiplier">
+<h3>currentBackoffMultiplier</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">org.apache.hbase.thirdparty.com.google.common.util.concurrent.AtomicDouble</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-214">currentBackoffMultiplier</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="hadContentionThisInterval">
+<h3>hadContentionThisInterval</h3>
+<div class="member-signature"><span class="modifiers">private volatile</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-215">hadContentionThisInterval</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="oversubscriptionProportion">
+<h3>oversubscriptionProportion</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">org.apache.hbase.thirdparty.com.google.common.util.concurrent.AtomicDouble</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-218">oversubscriptionProportion</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="emaAlpha">
+<h3>emaAlpha</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-221">emaAlpha</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="utilizationEma">
+<h3>utilizationEma</h3>
+<div class="member-signature"><span class="modifiers">private volatile</span> <span class="return-type">double</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-222">utilizationEma</a></span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="lastIntervalConsumed">
+<h3>lastIntervalConsumed</h3>
+<div class="member-signature"><span class="modifiers">private final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/atomic/AtomicLong.html" title="class or interface in java.util.concurrent.atomic" class="external-link">AtomicLong</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-223">lastIntervalConsumed</a></span></div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="<init>(long,double,double,double,double,double,double,double)">
+<h3>FeedbackAdaptiveRateLimiter</h3>
+<div class="member-signature"><span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-225">FeedbackAdaptiveRateLimiter</a></span><wbr><span class="parameters">(long refillInterval,
+ double backoffMultiplierIncrement,
+ double backoffMultiplierDecrement,
+ double maxBackoffMultiplier,
+ double oversubscriptionIncrement,
+ double oversubscriptionDecrement,
+ double maxOversubscription,
+ double utilizationErrorBudget)</span></div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="refill(long)">
+<h3>refill</h3>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-257">refill</a></span><wbr><span class="parameters">(long limit)</span></div>
+<div class="block"><span class="descfrm-type-label">Description copied from class: <code><a href="RateLimiter.html#refill(long)">RateLimiter</a></code></span></div>
+<div class="block">Refill the available units w.r.t the elapsed time.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="RateLimiter.html#refill(long)">refill</a></code> in class <code><a href="RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a></code></dd>
+<dt>Parameters:</dt>
+<dd><code>limit</code> - Maximum available resource units that can be refilled to.</dd>
+<dt>Returns:</dt>
+<dd>how many resource units may be refilled ?</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getOversubscribedLimit(long)">
+<h3>getOversubscribedLimit</h3>
+<div class="member-signature"><span class="modifiers">private</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-306">getOversubscribedLimit</a></span><wbr><span class="parameters">(long limit)</span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="consume(long)">
+<h3>consume</h3>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-310">consume</a></span><wbr><span class="parameters">(long amount)</span></div>
+<div class="block"><span class="descfrm-type-label">Description copied from class: <code><a href="RateLimiter.html#consume(long)">RateLimiter</a></code></span></div>
+<div class="block">consume amount available units, amount could be a negative number</div>
+<dl class="notes">
+<dt>Overrides:</dt>
+<dd><code><a href="RateLimiter.html#consume(long)">consume</a></code> in class <code><a href="RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a></code></dd>
+<dt>Parameters:</dt>
+<dd><code>amount</code> - the number of units to consume</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getWaitInterval(long,long,long)">
+<h3>getWaitInterval</h3>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-316">getWaitInterval</a></span><wbr><span class="parameters">(long limit,
+ long available,
+ long amount)</span></div>
+<div class="block"><span class="descfrm-type-label">Description copied from class: <code><a href="RateLimiter.html#getWaitInterval(long,long,long)">RateLimiter</a></code></span></div>
+<div class="block">Time in milliseconds to wait for before requesting to consume 'amount' resource.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="RateLimiter.html#getWaitInterval(long,long,long)">getWaitInterval</a></code> in class <code><a href="RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a></code></dd>
+<dt>Parameters:</dt>
+<dd><code>limit</code> - Maximum available resource units that can be refilled to.</dd>
+<dd><code>available</code> - Currently available resource units</dd>
+<dd><code>amount</code> - Resources for which time interval to calculate for</dd>
+<dt>Returns:</dt>
+<dd>estimate of the ms required to wait before being able to provide 'amount' resources.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getRefillIntervalAdjustedLimit(long)">
+<h3>getRefillIntervalAdjustedLimit</h3>
+<div class="member-signature"><span class="modifiers">private</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-343">getRefillIntervalAdjustedLimit</a></span><wbr><span class="parameters">(long limit)</span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="applyBackoffMultiplier(long)">
+<h3>applyBackoffMultiplier</h3>
+<div class="member-signature"><span class="modifiers">private</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-347">applyBackoffMultiplier</a></span><wbr><span class="parameters">(long baseWaitInterval)</span></div>
+</section>
+</li>
+<li>
+<section class="detail" id="setNextRefillTime(long)">
+<h3>setNextRefillTime</h3>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-352">setNextRefillTime</a></span><wbr><span class="parameters">(long nextRefillTime)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="RateLimiter.html#setNextRefillTime(long)">setNextRefillTime</a></code> in class <code><a href="RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a></code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="getNextRefillTime()">
+<h3>getNextRefillTime</h3>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html#line-357">getNextRefillTime</a></span>()</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="RateLimiter.html#getNextRefillTime()">getNextRefillTime</a></code> in class <code><a href="RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a></code></dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+<footer role="contentinfo">
+<hr>
+<p class="legal-copy"><small>Copyright © 2007–2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</footer>
+</div>
+</div>
+</body>
+</html>
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/RateLimiter.html b/devapidocs/org/apache/hadoop/hbase/quotas/RateLimiter.html
index 1ea1cc0b98a..d883a455687 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/RateLimiter.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/RateLimiter.html
@@ -78,7 +78,7 @@ loadScripts(document, 'script');</script>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Direct Known Subclasses:</dt>
-<dd><code><a href="AverageIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">AverageIntervalRateLimiter</a></code>, <code><a href="FixedIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FixedIntervalRateLimiter</a></code></dd>
+<dd><code><a href="AverageIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">AverageIntervalRateLimiter</a></code>, <code><a href="FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></code>, <code><a href="FixedIntervalRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FixedIntervalRateLimiter</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="annotations">@Private
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/RpcThrottlingException.html b/devapidocs/org/apache/hadoop/hbase/quotas/RpcThrottlingException.html
index 8afde9caedf..f563cad73f5 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/RpcThrottlingException.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/RpcThrottlingException.html
@@ -173,67 +173,73 @@ loadScripts(document, 'script');</script>
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RpcThrottlingException.Type.html" title="enum class in org.apache.hadoop.hbase.quotas">RpcThrottlingException.Type</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getType()" class="member-name-link">getType</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getWaitInterval()" class="member-name-link">getWaitInterval</a>()</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#fillInStackTrace()" class="member-name-link">fillInStackTrace</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">There is little value in an RpcThrottlingException having a stack trace, since its cause is
+ well understood without one.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="RpcThrottlingException.Type.html" title="enum class in org.apache.hadoop.hbase.quotas">RpcThrottlingException.Type</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getType()" class="member-name-link">getType</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>protected static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#stringFromMillis(long)" class="member-name-link">stringFromMillis</a><wbr>(long millis)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwAtomicReadSizeExceeded(long)" class="member-name-link">throwAtomicReadSizeExceeded</a><wbr>(long waitInterval)</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getWaitInterval()" class="member-name-link">getWaitInterval</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>protected static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#stringFromMillis(long)" class="member-name-link">stringFromMillis</a><wbr>(long millis)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwAtomicRequestNumberExceeded(long)" class="member-name-link">throwAtomicRequestNumberExceeded</a><wbr>(long waitInterval)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwAtomicReadSizeExceeded(long)" class="member-name-link">throwAtomicReadSizeExceeded</a><wbr>(long waitInterval)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwAtomicWriteSizeExceeded(long)" class="member-name-link">throwAtomicWriteSizeExceeded</a><wbr>(long waitInterval)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwAtomicRequestNumberExceeded(long)" class="member-name-link">throwAtomicRequestNumberExceeded</a><wbr>(long waitInterval)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwNumReadRequestsExceeded(long)" class="member-name-link">throwNumReadRequestsExceeded</a><wbr>(long waitInterval)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwAtomicWriteSizeExceeded(long)" class="member-name-link">throwAtomicWriteSizeExceeded</a><wbr>(long waitInterval)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwNumRequestsExceeded(long)" class="member-name-link">throwNumRequestsExceeded</a><wbr>(long waitInterval)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwNumReadRequestsExceeded(long)" class="member-name-link">throwNumReadRequestsExceeded</a><wbr>(long waitInterval)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwNumWriteRequestsExceeded(long)" class="member-name-link">throwNumWriteRequestsExceeded</a><wbr>(long waitInterval)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwNumRequestsExceeded(long)" class="member-name-link">throwNumRequestsExceeded</a><wbr>(long waitInterval)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwReadCapacityUnitExceeded(long)" class="member-name-link">throwReadCapacityUnitExceeded</a><wbr>(long waitInterval)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwNumWriteRequestsExceeded(long)" class="member-name-link">throwNumWriteRequestsExceeded</a><wbr>(long waitInterval)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwReadSizeExceeded(long)" class="member-name-link">throwReadSizeExceeded</a><wbr>(long waitInterval)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwReadCapacityUnitExceeded(long)" class="member-name-link">throwReadCapacityUnitExceeded</a><wbr>(long waitInterval)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwRequestCapacityUnitExceeded(long)" class="member-name-link">throwRequestCapacityUnitExceeded</a><wbr>(long waitInterval)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwReadSizeExceeded(long)" class="member-name-link">throwReadSizeExceeded</a><wbr>(long waitInterval)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwRequestHandlerUsageTimeExceeded(long)" class="member-name-link">throwRequestHandlerUsageTimeExceeded</a><wbr>(long waitInterval)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwRequestCapacityUnitExceeded(long)" class="member-name-link">throwRequestCapacityUnitExceeded</a><wbr>(long waitInterval)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwRequestSizeExceeded(long)" class="member-name-link">throwRequestSizeExceeded</a><wbr>(long waitInterval)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwRequestHandlerUsageTimeExceeded(long)" class="member-name-link">throwRequestHandlerUsageTimeExceeded</a><wbr>(long waitInterval)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>private static void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwThrottlingException(org.apache.hadoop.hbase.quotas.RpcThrottlingException.Type,long)" class="member-name-link">throwThrottlingException</a><wbr>(<a href="RpcThrottlingException.Type.html" title="enum class in org.apache.hadoop.hbase.quotas">RpcThrottlingException.Type</a> type,
- long waitInterval)</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwRequestSizeExceeded(long)" class="member-name-link">throwRequestSizeExceeded</a><wbr>(long waitInterval)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwWriteCapacityUnitExceeded(long)" class="member-name-link">throwWriteCapacityUnitExceeded</a><wbr>(long waitInterval)</code></div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>private static void</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwThrottlingException(org.apache.hadoop.hbase.quotas.RpcThrottlingException.Type,long)" class="member-name-link">throwThrottlingException</a><wbr>(<a href="RpcThrottlingException.Type.html" title="enum class in org.apache.hadoop.hbase.quotas">RpcThrottlingException.Type</a> type,
+ long waitInterval)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwWriteSizeExceeded(long)" class="member-name-link">throwWriteSizeExceeded</a><wbr>(long waitInterval)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwWriteCapacityUnitExceeded(long)" class="member-name-link">throwWriteCapacityUnitExceeded</a><wbr>(long waitInterval)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>protected static long</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#timeFromString(java.lang.String)" class="member-name-link">timeFromString</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> timeDiff)</code></div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#throwWriteSizeExceeded(long)" class="member-name-link">throwWriteSizeExceeded</a><wbr>(long waitInterval)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>protected static long</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#timeFromString(java.lang.String)" class="member-name-link">timeFromString</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> timeDiff)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Throwable">Methods inherited from class java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#addSuppressed(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">addSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang" class="external-link">fillInStackTrace</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/ [...]
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#addSuppressed(java.lang.Throwable)" title="class or interface in java.lang" class="external-link">addSuppressed</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#getCause()" title="class or interface in java.lang" class="external-link">getCause</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.h [...]
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or [...]
@@ -489,6 +495,20 @@ loadScripts(document, 'script');</script>
<div class="member-signature"><span class="modifiers">protected static</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.html#line-189">timeFromString</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> timeDiff)< [...]
</section>
</li>
+<li>
+<section class="detail" id="fillInStackTrace()">
+<h3>fillInStackTrace</h3>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.html#line-215">fillInStackTrace</a></span>()</div>
+<div class="block">There is little value in an RpcThrottlingException having a stack trace, since its cause is
+ well understood without one. When a RegionServer is under heavy load and needs to serve many
+ RpcThrottlingExceptions, skipping fillInStackTrace() will save CPU time and allocations, both
+ here and later when the exception must be serialized over the wire.</div>
+<dl class="notes">
+<dt>Overrides:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang" class="external-link">fillInStackTrace</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a></code></dd>
+</dl>
+</section>
+</li>
</ul>
</section>
</li>
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html b/devapidocs/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html
index 8adb1c30bbb..02f95ab789c 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html
@@ -384,27 +384,27 @@ implements <a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hba
<li>
<section class="detail" id="fromThrottle(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle)">
<h3>fromThrottle</h3>
-<div class="member-signature"><span class="modifiers">static</span> <span class="return-type"><a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaLimiter</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-86">fromThrottle</a></span><wbr><span class="parameters">(org.apache.hadoop.conf.Configuration conf,
+<div class="member-signature"><span class="modifiers">static</span> <span class="return-type"><a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hbase.quotas">QuotaLimiter</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-101">fromThrottle</a></span><wbr><span class="parameters">(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Throttle throttle)</span></div>
</section>
</li>
<li>
<section class="detail" id="update(org.apache.hadoop.hbase.quotas.TimeBasedLimiter)">
<h3>update</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-157">update</a></span><wbr><span class="parameters">(<a href="TimeBasedLimiter.html" title="class in org.apache.hadoop.hbase.quotas">TimeBasedLimiter</a> other)</span></div>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-172">update</a></span><wbr><span class="parameters">(<a href="TimeBasedLimiter.html" title="class in org.apache.hadoop.hbase.quotas">TimeBasedLimiter</a> other)</span></div>
</section>
</li>
<li>
<section class="detail" id="setFromTimedQuota(org.apache.hadoop.hbase.quotas.RateLimiter,org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota)">
<h3>setFromTimedQuota</h3>
-<div class="member-signature"><span class="modifiers">private static</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-173">setFromTimedQuota</a></span><wbr><span class="parameters">(<a href="RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a> limiter,
+<div class="member-signature"><span class="modifiers">private static</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-188">setFromTimedQuota</a></span><wbr><span class="parameters">(<a href="RateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a> limiter,
org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota timedQuota)</span></div>
</section>
</li>
<li>
<section class="detail" id="checkQuota(long,long,long,long,long,long,boolean,long)">
<h3>checkQuota</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-177">checkQuota</a></span><wbr><span class="parameters">(long writeReqs,
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-192">checkQuota</a></span><wbr><span class="parameters">(long writeReqs,
long estimateWriteSize,
long readReqs,
long estimateReadSize,
@@ -442,7 +442,7 @@ implements <a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hba
<li>
<section class="detail" id="grabQuota(long,long,long,long,long,long,boolean,long)">
<h3>grabQuota</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-248">grabQuota</a></span><wbr><span class="parameters">(long writeReqs,
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-263">grabQuota</a></span><wbr><span class="parameters">(long writeReqs,
long writeSize,
long readReqs,
long readSize,
@@ -477,7 +477,7 @@ implements <a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hba
<li>
<section class="detail" id="consumeWrite(long,long,boolean)">
<h3>consumeWrite</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-285">consumeWrite</a></span><wbr><span class="parameters">(long size,
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-300">consumeWrite</a></span><wbr><span class="parameters">(long size,
long capacityUnit,
boolean isAtomic)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface: <code><a href="QuotaLimiter.html#consumeWrite(long,long,boolean)">QuotaLimiter</a></code></span></div>
@@ -492,7 +492,7 @@ implements <a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hba
<li>
<section class="detail" id="consumeRead(long,long,boolean)">
<h3>consumeRead</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-296">consumeRead</a></span><wbr><span class="parameters">(long size,
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-311">consumeRead</a></span><wbr><span class="parameters">(long size,
long capacityUnit,
boolean isAtomic)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface: <code><a href="QuotaLimiter.html#consumeRead(long,long,boolean)">QuotaLimiter</a></code></span></div>
@@ -507,7 +507,7 @@ implements <a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hba
<li>
<section class="detail" id="consumeTime(long)">
<h3>consumeTime</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-307">consumeTime</a></span><wbr><span class="parameters">(long handlerMillisUsed)</span></div>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-322">consumeTime</a></span><wbr><span class="parameters">(long handlerMillisUsed)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface: <code><a href="QuotaLimiter.html#consumeTime(long)">QuotaLimiter</a></code></span></div>
<div class="block">Removes or add back some handler thread usage milliseconds to the quota. (called at the end of
an operation in case the estimate quota was off)</div>
@@ -522,7 +522,7 @@ implements <a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hba
<li>
<section class="detail" id="isBypass()">
<h3>isBypass</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-312">isBypass</a></span>()</div>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-327">isBypass</a></span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface: <code><a href="QuotaLimiter.html#isBypass()">QuotaLimiter</a></code></span></div>
<div class="block">Returns true if the limiter is a noop</div>
<dl class="notes">
@@ -534,7 +534,7 @@ implements <a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hba
<li>
<section class="detail" id="getWriteAvailable()">
<h3>getWriteAvailable</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-317">getWriteAvailable</a></span>()</div>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-332">getWriteAvailable</a></span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface: <code><a href="QuotaLimiter.html#getWriteAvailable()">QuotaLimiter</a></code></span></div>
<div class="block">Returns the number of bytes available to write to avoid exceeding the quota</div>
<dl class="notes">
@@ -546,7 +546,7 @@ implements <a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hba
<li>
<section class="detail" id="getRequestNumLimit()">
<h3>getRequestNumLimit</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-322">getRequestNumLimit</a></span>()</div>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-337">getRequestNumLimit</a></span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface: <code><a href="QuotaLimiter.html#getRequestNumLimit()">QuotaLimiter</a></code></span></div>
<div class="block">Returns the maximum number of requests to allow per TimeUnit</div>
<dl class="notes">
@@ -558,7 +558,7 @@ implements <a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hba
<li>
<section class="detail" id="getReadNumLimit()">
<h3>getReadNumLimit</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-333">getReadNumLimit</a></span>()</div>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-348">getReadNumLimit</a></span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface: <code><a href="QuotaLimiter.html#getReadNumLimit()">QuotaLimiter</a></code></span></div>
<div class="block">Returns the maximum number of reads to allow per TimeUnit</div>
<dl class="notes">
@@ -570,7 +570,7 @@ implements <a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hba
<li>
<section class="detail" id="getWriteNumLimit()">
<h3>getWriteNumLimit</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-338">getWriteNumLimit</a></span>()</div>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-353">getWriteNumLimit</a></span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface: <code><a href="QuotaLimiter.html#getWriteNumLimit()">QuotaLimiter</a></code></span></div>
<div class="block">Returns the maximum number of writes to allow per TimeUnit</div>
<dl class="notes">
@@ -582,7 +582,7 @@ implements <a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hba
<li>
<section class="detail" id="getReadAvailable()">
<h3>getReadAvailable</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-343">getReadAvailable</a></span>()</div>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-358">getReadAvailable</a></span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface: <code><a href="QuotaLimiter.html#getReadAvailable()">QuotaLimiter</a></code></span></div>
<div class="block">Returns the number of bytes available to read to avoid exceeding the quota</div>
<dl class="notes">
@@ -594,7 +594,7 @@ implements <a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hba
<li>
<section class="detail" id="getReadLimit()">
<h3>getReadLimit</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-348">getReadLimit</a></span>()</div>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-363">getReadLimit</a></span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface: <code><a href="QuotaLimiter.html#getReadLimit()">QuotaLimiter</a></code></span></div>
<div class="block">Returns the maximum number of bytes ever available to read</div>
<dl class="notes">
@@ -606,7 +606,7 @@ implements <a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hba
<li>
<section class="detail" id="getWriteLimit()">
<h3>getWriteLimit</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-353">getWriteLimit</a></span>()</div>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-368">getWriteLimit</a></span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface: <code><a href="QuotaLimiter.html#getWriteLimit()">QuotaLimiter</a></code></span></div>
<div class="block">Returns the maximum number of bytes ever available to write</div>
<dl class="notes">
@@ -618,7 +618,7 @@ implements <a href="QuotaLimiter.html" title="interface in org.apache.hadoop.hba
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
-<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-358">toString</a></span>()</div>
+<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html#line-373">toString</a></span>()</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/class-use/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html
new file mode 100644
index 00000000000..adbdebb2fac
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) -->
+<title>Uses of Class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory (Apache HBase 4.0.0-alpha-1-SNAPSHOT API)</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="description" content="use: package: org.apache.hadoop.hbase.quotas, class: FeedbackAdaptiveRateLimiter, class: FeedbackAdaptiveRateLimiterFactory">
+<meta name="generator" content="javadoc/ClassUseWriter">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-use-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../index.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">Class</a></li>
+<li class="nav-bar-cell1-rev">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#use">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="Uses of Class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory" class="title">Uses of Class<br>org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</h1>
+</div>
+No usage of org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</main>
+<footer role="contentinfo">
+<hr>
+<p class="legal-copy"><small>Copyright © 2007–2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</footer>
+</div>
+</div>
+</body>
+</html>
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/class-use/RateLimiter.html b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/FeedbackAdaptiveRateLimiter.html
similarity index 62%
copy from apidocs/org/apache/hadoop/hbase/quotas/class-use/RateLimiter.html
copy to devapidocs/org/apache/hadoop/hbase/quotas/class-use/FeedbackAdaptiveRateLimiter.html
index e9d215a38f0..93c30f2271d 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/class-use/RateLimiter.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/FeedbackAdaptiveRateLimiter.html
@@ -2,10 +2,10 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
-<title>Uses of Class org.apache.hadoop.hbase.quotas.RateLimiter (Apache HBase 4.0.0-alpha-1-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter (Apache HBase 4.0.0-alpha-1-SNAPSHOT API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="use: package: org.apache.hadoop.hbase.quotas, class: RateLimiter">
+<meta name="description" content="use: package: org.apache.hadoop.hbase.quotas, class: FeedbackAdaptiveRateLimiter">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
@@ -29,7 +29,7 @@ loadScripts(document, 'script');</script>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
-<li>Class</li>
+<li><a href="../FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">Class</a></li>
<li class="nav-bar-cell1-rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -49,9 +49,9 @@ loadScripts(document, 'script');</script>
<div class="flex-content">
<main role="main">
<div class="header">
-<h1 title="Uses of Class org.apache.hadoop.hbase.quotas.RateLimiter" class="title">Uses of Class<br>org.apache.hadoop.hbase.quotas.RateLimiter</h1>
+<h1 title="Uses of Class org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter" class="title">Uses of Class<br>org.apache.hadoop.hbase.quotas.FeedbackAdaptiveRateLimiter</h1>
</div>
-<div class="caption"><span>Packages that use org.apache.hadoop.hbase.quotas.RateLimiter</span></div>
+<div class="caption"><span>Packages that use <a href="../FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
@@ -62,33 +62,15 @@ loadScripts(document, 'script');</script>
<ul class="block-list">
<li>
<section class="detail" id="org.apache.hadoop.hbase.quotas">
-<h2>Uses of org.apache.hadoop.hbase.quotas.RateLimiter in <a href="../package-summary.html">org.apache.hadoop.hbase.quotas</a></h2>
-<div class="caption"><span>Subclasses of org.apache.hadoop.hbase.quotas.RateLimiter in in <a href="../package-summary.html">org.apache.hadoop.hbase.quotas</a></span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Class</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>class </code></div>
-<div class="col-second even-row-color"><code>org.apache.hadoop.hbase.quotas.AverageIntervalRateLimiter</code></div>
-<div class="col-last even-row-color">
-<div class="block">This limiter will refill resources at every TimeUnit/resources interval.</div>
-</div>
-<div class="col-first odd-row-color"><code>class </code></div>
-<div class="col-second odd-row-color"><code>org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter</code></div>
-<div class="col-last odd-row-color">
-<div class="block">With this limiter resources will be refilled only after a fixed interval of time.</div>
-</div>
-</div>
-<div class="caption"><span>Methods in <a href="../package-summary.html">org.apache.hadoop.hbase.quotas</a> with parameters of type org.apache.hadoop.hbase.quotas.RateLimiter in in </span></div>
+<h2>Uses of <a href="../FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a> in <a href="../package-summary.html">org.apache.hadoop.hbase.quotas</a></h2>
+<div class="caption"><span>Methods in <a href="../package-summary.html">org.apache.hadoop.hbase.quotas</a> that return <a href="../FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>void</code></div>
-<div class="col-second even-row-color"><span class="type-name-label">RateLimiter.</span><code>update<wbr>(org.apache.hadoop.hbase.quotas.RateLimiter other)</code></div>
-<div class="col-last even-row-color">
-<div class="block">Sets the current instance of RateLimiter to a new values.</div>
-</div>
+<div class="col-first even-row-color"><code><a href="../FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></code></div>
+<div class="col-second even-row-color"><span class="type-name-label">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.</span><code><a href="../FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html#create()" class="member-name-link">create</a>()</code></div>
+<div class="col-last even-row-color"> </div>
</div>
</section>
</li>
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/class-use/RateLimiter.html b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/RateLimiter.html
index bec33126643..fdb1b5a606f 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/class-use/RateLimiter.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/class-use/RateLimiter.html
@@ -74,8 +74,15 @@ loadScripts(document, 'script');</script>
<div class="block">This limiter will refill resources at every TimeUnit/resources interval.</div>
</div>
<div class="col-first odd-row-color"><code>class </code></div>
-<div class="col-second odd-row-color"><code><a href="../FixedIntervalRateLimiter.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FixedIntervalRateLimiter</a></code></div>
+<div class="col-second odd-row-color"><code><a href="../FeedbackAdaptiveRateLimiter.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></code></div>
<div class="col-last odd-row-color">
+<div class="block">An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns
+ to achieve stable, full utilization of configured quota allowances while managing client
+ contention.</div>
+</div>
+<div class="col-first even-row-color"><code>class </code></div>
+<div class="col-second even-row-color"><code><a href="../FixedIntervalRateLimiter.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FixedIntervalRateLimiter</a></code></div>
+<div class="col-last even-row-color">
<div class="block">With this limiter resources will be refilled only after a fixed interval of time.</div>
</div>
</div>
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-summary.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-summary.html
index c36287e4e94..bb75699c38e 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-summary.html
@@ -101,6 +101,14 @@ loadScripts(document, 'script');</script>
<div class="col-last odd-row-color class-summary class-summary-tab2"> </div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="ExceedOperationQuota.CheckQuotaRunnable.html" title="interface in org.apache.hadoop.hbase.quotas">ExceedOperationQuota.CheckQuotaRunnable</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1"> </div>
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="FeedbackAdaptiveRateLimiter.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab2">
+<div class="block">An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns
+ to achieve stable, full utilization of configured quota allowances while managing client
+ contention.</div>
+</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2"> </div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="FileArchiverNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">FileArchiverNotifier</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Interface allowing various implementations of tracking files that have recently been archived to
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index 23d2f0311ff..aef46c2c23d 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -66,6 +66,7 @@ loadScripts(document, 'script');</script>
<li class="circle">org.apache.hadoop.hbase.quotas.<a href="ExceedOperationQuota.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">ExceedOperationQuota</a></li>
</ul>
</li>
+<li class="circle">org.apache.hadoop.hbase.quotas.<a href="FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></li>
<li class="circle">org.apache.hadoop.hbase.quotas.<a href="FileArchiverNotifierFactoryImpl.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FileArchiverNotifierFactoryImpl</a> (implements org.apache.hadoop.hbase.quotas.<a href="FileArchiverNotifierFactory.html" title="interface in org.apache.hadoop.hbase.quotas">FileArchiverNotifierFactory</a>)</li>
<li class="circle">org.apache.hadoop.hbase.quotas.<a href="FileArchiverNotifierFactoryImpl.CacheKey.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FileArchiverNotifierFactoryImpl.CacheKey</a></li>
<li class="circle">org.apache.hadoop.hbase.quotas.<a href="FileArchiverNotifierImpl.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FileArchiverNotifierImpl</a> (implements org.apache.hadoop.hbase.quotas.<a href="FileArchiverNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">FileArchiverNotifier</a>)</li>
@@ -112,6 +113,7 @@ loadScripts(document, 'script');</script>
<li class="circle">org.apache.hadoop.hbase.quotas.<a href="RateLimiter.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a>
<ul>
<li class="circle">org.apache.hadoop.hbase.quotas.<a href="AverageIntervalRateLimiter.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">AverageIntervalRateLimiter</a></li>
+<li class="circle">org.apache.hadoop.hbase.quotas.<a href="FeedbackAdaptiveRateLimiter.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></li>
<li class="circle">org.apache.hadoop.hbase.quotas.<a href="FixedIntervalRateLimiter.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FixedIntervalRateLimiter</a></li>
</ul>
</li>
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-use.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-use.html
index 671e9e68b27..37a1f985014 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-use.html
@@ -222,236 +222,242 @@ loadScripts(document, 'script');</script>
<div class="col-last odd-row-color"> </div>
<div class="col-first even-row-color"><a href="class-use/ExceedOperationQuota.CheckQuotaRunnable.html#org.apache.hadoop.hbase.quotas">ExceedOperationQuota.CheckQuotaRunnable</a></div>
<div class="col-last even-row-color"> </div>
-<div class="col-first odd-row-color"><a href="class-use/FileArchiverNotifier.html#org.apache.hadoop.hbase.quotas">FileArchiverNotifier</a></div>
+<div class="col-first odd-row-color"><a href="class-use/FeedbackAdaptiveRateLimiter.html#org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></div>
<div class="col-last odd-row-color">
+<div class="block">An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns
+ to achieve stable, full utilization of configured quota allowances while managing client
+ contention.</div>
+</div>
+<div class="col-first even-row-color"><a href="class-use/FileArchiverNotifier.html#org.apache.hadoop.hbase.quotas">FileArchiverNotifier</a></div>
+<div class="col-last even-row-color">
<div class="block">Interface allowing various implementations of tracking files that have recently been archived to
allow for the Master to notice changes to snapshot sizes for space quotas.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/FileArchiverNotifierFactory.html#org.apache.hadoop.hbase.quotas">FileArchiverNotifierFactory</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/FileArchiverNotifierFactory.html#org.apache.hadoop.hbase.quotas">FileArchiverNotifierFactory</a></div>
+<div class="col-last odd-row-color">
<div class="block">Factory class to create <a href="FileArchiverNotifier.html" title="interface in org.apache.hadoop.hbase.quotas"><code>FileArchiverNotifier</code></a> instances.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/FileArchiverNotifierFactoryImpl.html#org.apache.hadoop.hbase.quotas">FileArchiverNotifierFactoryImpl</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/FileArchiverNotifierFactoryImpl.html#org.apache.hadoop.hbase.quotas">FileArchiverNotifierFactoryImpl</a></div>
+<div class="col-last even-row-color">
<div class="block">A factory for getting instances of <a href="FileArchiverNotifier.html" title="interface in org.apache.hadoop.hbase.quotas"><code>FileArchiverNotifier</code></a>.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/FileArchiverNotifierImpl.SnapshotWithSize.html#org.apache.hadoop.hbase.quotas">FileArchiverNotifierImpl.SnapshotWithSize</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/FileArchiverNotifierImpl.SnapshotWithSize.html#org.apache.hadoop.hbase.quotas">FileArchiverNotifierImpl.SnapshotWithSize</a></div>
+<div class="col-last odd-row-color">
<div class="block">A struct encapsulating the name of a snapshot and its "size" on the filesystem.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/FileArchiverNotifierImpl.StoreFileReference.html#org.apache.hadoop.hbase.quotas">FileArchiverNotifierImpl.StoreFileReference</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/FileArchiverNotifierImpl.StoreFileReference.html#org.apache.hadoop.hbase.quotas">FileArchiverNotifierImpl.StoreFileReference</a></div>
+<div class="col-last even-row-color">
<div class="block">A reference to a collection of files in the archive directory for a single region.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/GlobalQuotaSettings.html#org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/GlobalQuotaSettings.html#org.apache.hadoop.hbase.quotas">GlobalQuotaSettings</a></div>
+<div class="col-last odd-row-color">
<div class="block">An object which captures all quotas types (throttle or space) for a subject (user, table, or
namespace).</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/GlobalQuotaSettingsImpl.html#org.apache.hadoop.hbase.quotas">GlobalQuotaSettingsImpl</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/GlobalQuotaSettingsImpl.html#org.apache.hadoop.hbase.quotas">GlobalQuotaSettingsImpl</a></div>
+<div class="col-last even-row-color">
<div class="block">Implementation of <a href="GlobalQuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>GlobalQuotaSettings</code></a> to hide the Protobuf messages we use internally.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/MasterQuotaManager.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/MasterQuotaManager.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager</a></div>
+<div class="col-last odd-row-color">
<div class="block">Master Quota Manager.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/MasterQuotaManager.NamedLock.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager.NamedLock</a></div>
-<div class="col-last odd-row-color"> </div>
-<div class="col-first even-row-color"><a href="class-use/MasterQuotaManager.SetQuotaOperations.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a></div>
-<div class="col-last even-row-color">
+<div class="col-first even-row-color"><a href="class-use/MasterQuotaManager.NamedLock.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager.NamedLock</a></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><a href="class-use/MasterQuotaManager.SetQuotaOperations.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager.SetQuotaOperations</a></div>
+<div class="col-last odd-row-color">
<div class="block">Encapsulates CRUD quota operations for some subject.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/MasterQuotaManager.SizeSnapshotWithTimestamp.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager.SizeSnapshotWithTimestamp</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/MasterQuotaManager.SizeSnapshotWithTimestamp.html#org.apache.hadoop.hbase.quotas">MasterQuotaManager.SizeSnapshotWithTimestamp</a></div>
+<div class="col-last even-row-color">
<div class="block">Holds the size of a region at the given time, millis since the epoch.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/NoOpRegionSizeStore.html#org.apache.hadoop.hbase.quotas">NoOpRegionSizeStore</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/NoOpRegionSizeStore.html#org.apache.hadoop.hbase.quotas">NoOpRegionSizeStore</a></div>
+<div class="col-last odd-row-color">
<div class="block">A <a href="RegionSizeStore.html" title="interface in org.apache.hadoop.hbase.quotas"><code>RegionSizeStore</code></a> implementation that stores nothing.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/OperationQuota.html#org.apache.hadoop.hbase.quotas">OperationQuota</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/OperationQuota.html#org.apache.hadoop.hbase.quotas">OperationQuota</a></div>
+<div class="col-last even-row-color">
<div class="block">Interface that allows to check the quota available for an operation.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/OperationQuota.OperationType.html#org.apache.hadoop.hbase.quotas">OperationQuota.OperationType</a></div>
-<div class="col-last even-row-color"> </div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaCache.html#org.apache.hadoop.hbase.quotas">QuotaCache</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first odd-row-color"><a href="class-use/OperationQuota.OperationType.html#org.apache.hadoop.hbase.quotas">OperationQuota.OperationType</a></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><a href="class-use/QuotaCache.html#org.apache.hadoop.hbase.quotas">QuotaCache</a></div>
+<div class="col-last even-row-color">
<div class="block">Cache that keeps track of the quota settings for the users and tables that are interacting with
it.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/QuotaCache.QuotaRefresherChore.html#org.apache.hadoop.hbase.quotas">QuotaCache.QuotaRefresherChore</a></div>
-<div class="col-last even-row-color"> </div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaCache.RefreshableExpiringValueCache.html#org.apache.hadoop.hbase.quotas">QuotaCache.RefreshableExpiringValueCache</a></div>
+<div class="col-first odd-row-color"><a href="class-use/QuotaCache.QuotaRefresherChore.html#org.apache.hadoop.hbase.quotas">QuotaCache.QuotaRefresherChore</a></div>
<div class="col-last odd-row-color"> </div>
-<div class="col-first even-row-color"><a href="class-use/QuotaCache.ThrowingSupplier.html#org.apache.hadoop.hbase.quotas">QuotaCache.ThrowingSupplier</a></div>
+<div class="col-first even-row-color"><a href="class-use/QuotaCache.RefreshableExpiringValueCache.html#org.apache.hadoop.hbase.quotas">QuotaCache.RefreshableExpiringValueCache</a></div>
<div class="col-last even-row-color"> </div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaExceededException.html#org.apache.hadoop.hbase.quotas">QuotaExceededException</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first odd-row-color"><a href="class-use/QuotaCache.ThrowingSupplier.html#org.apache.hadoop.hbase.quotas">QuotaCache.ThrowingSupplier</a></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><a href="class-use/QuotaExceededException.html#org.apache.hadoop.hbase.quotas">QuotaExceededException</a></div>
+<div class="col-last even-row-color">
<div class="block">Generic quota exceeded exception</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/QuotaFilter.html#org.apache.hadoop.hbase.quotas">QuotaFilter</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/QuotaFilter.html#org.apache.hadoop.hbase.quotas">QuotaFilter</a></div>
+<div class="col-last odd-row-color">
<div class="block">Filter to use to filter the QuotaRetriever results.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaLimiter.html#org.apache.hadoop.hbase.quotas">QuotaLimiter</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/QuotaLimiter.html#org.apache.hadoop.hbase.quotas">QuotaLimiter</a></div>
+<div class="col-last even-row-color">
<div class="block">Internal interface used to interact with the user/table quota.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/QuotaObserverChore.html#org.apache.hadoop.hbase.quotas">QuotaObserverChore</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/QuotaObserverChore.html#org.apache.hadoop.hbase.quotas">QuotaObserverChore</a></div>
+<div class="col-last odd-row-color">
<div class="block">Reads the currently received Region filesystem-space use reports and acts on those which violate
a defined quota.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaObserverChore.TablesWithQuotas.html#org.apache.hadoop.hbase.quotas">QuotaObserverChore.TablesWithQuotas</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/QuotaObserverChore.TablesWithQuotas.html#org.apache.hadoop.hbase.quotas">QuotaObserverChore.TablesWithQuotas</a></div>
+<div class="col-last even-row-color">
<div class="block">A container which encapsulates the tables that have either a table quota or are contained in a
namespace which have a namespace quota.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/QuotaRetriever.html#org.apache.hadoop.hbase.quotas">QuotaRetriever</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/QuotaRetriever.html#org.apache.hadoop.hbase.quotas">QuotaRetriever</a></div>
+<div class="col-last odd-row-color">
<div class="block">Scanner to iterate over the quota settings.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaScope.html#org.apache.hadoop.hbase.quotas">QuotaScope</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/QuotaScope.html#org.apache.hadoop.hbase.quotas">QuotaScope</a></div>
+<div class="col-last even-row-color">
<div class="block">Describe the Scope of the quota rules.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/QuotaSettings.html#org.apache.hadoop.hbase.quotas">QuotaSettings</a></div>
-<div class="col-last even-row-color"> </div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a></div>
+<div class="col-first odd-row-color"><a href="class-use/QuotaSettings.html#org.apache.hadoop.hbase.quotas">QuotaSettings</a></div>
<div class="col-last odd-row-color"> </div>
-<div class="col-first even-row-color"><a href="class-use/QuotaSnapshotStore.html#org.apache.hadoop.hbase.quotas">QuotaSnapshotStore</a></div>
-<div class="col-last even-row-color">
+<div class="col-first even-row-color"><a href="class-use/QuotaSettingsFactory.QuotaGlobalsSettingsBypass.html#org.apache.hadoop.hbase.quotas">QuotaSettingsFactory.QuotaGlobalsSettingsBypass</a></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><a href="class-use/QuotaSnapshotStore.html#org.apache.hadoop.hbase.quotas">QuotaSnapshotStore</a></div>
+<div class="col-last odd-row-color">
<div class="block">A common interface for computing and storing space quota observance/violation for entities.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaState.html#org.apache.hadoop.hbase.quotas">QuotaState</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/QuotaState.html#org.apache.hadoop.hbase.quotas">QuotaState</a></div>
+<div class="col-last even-row-color">
<div class="block">In-Memory state of table or namespace quotas</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/QuotaTableUtil.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/QuotaTableUtil.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></div>
+<div class="col-last odd-row-color">
<div class="block">Helper class to interact with the quota table.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaTableUtil.NamespaceQuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.NamespaceQuotasVisitor</a></div>
-<div class="col-last odd-row-color"> </div>
-<div class="col-first even-row-color"><a href="class-use/QuotaTableUtil.QuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.QuotasVisitor</a></div>
+<div class="col-first even-row-color"><a href="class-use/QuotaTableUtil.NamespaceQuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.NamespaceQuotasVisitor</a></div>
<div class="col-last even-row-color"> </div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaTableUtil.RegionServerQuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.RegionServerQuotasVisitor</a></div>
+<div class="col-first odd-row-color"><a href="class-use/QuotaTableUtil.QuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.QuotasVisitor</a></div>
<div class="col-last odd-row-color"> </div>
-<div class="col-first even-row-color"><a href="class-use/QuotaTableUtil.TableQuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.TableQuotasVisitor</a></div>
+<div class="col-first even-row-color"><a href="class-use/QuotaTableUtil.RegionServerQuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.RegionServerQuotasVisitor</a></div>
<div class="col-last even-row-color"> </div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaTableUtil.UserQuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.UserQuotasVisitor</a></div>
+<div class="col-first odd-row-color"><a href="class-use/QuotaTableUtil.TableQuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.TableQuotasVisitor</a></div>
<div class="col-last odd-row-color"> </div>
-<div class="col-first even-row-color"><a href="class-use/QuotaType.html#org.apache.hadoop.hbase.quotas">QuotaType</a></div>
-<div class="col-last even-row-color">
+<div class="col-first even-row-color"><a href="class-use/QuotaTableUtil.UserQuotasVisitor.html#org.apache.hadoop.hbase.quotas">QuotaTableUtil.UserQuotasVisitor</a></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><a href="class-use/QuotaType.html#org.apache.hadoop.hbase.quotas">QuotaType</a></div>
+<div class="col-last odd-row-color">
<div class="block">Describe the Quota Type.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/QuotaUtil.KeyFromRow.html#org.apache.hadoop.hbase.quotas">QuotaUtil.KeyFromRow</a></div>
-<div class="col-last odd-row-color"> </div>
-<div class="col-first even-row-color"><a href="class-use/RateLimiter.html#org.apache.hadoop.hbase.quotas">RateLimiter</a></div>
-<div class="col-last even-row-color">
+<div class="col-first even-row-color"><a href="class-use/QuotaUtil.KeyFromRow.html#org.apache.hadoop.hbase.quotas">QuotaUtil.KeyFromRow</a></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><a href="class-use/RateLimiter.html#org.apache.hadoop.hbase.quotas">RateLimiter</a></div>
+<div class="col-last odd-row-color">
<div class="block">Simple rate limiter.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/RegionServerSpaceQuotaManager.html#org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/RegionServerSpaceQuotaManager.html#org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a></div>
+<div class="col-last even-row-color">
<div class="block">A manager for filesystem space quotas in the RegionServer.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/RegionSize.html#org.apache.hadoop.hbase.quotas">RegionSize</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/RegionSize.html#org.apache.hadoop.hbase.quotas">RegionSize</a></div>
+<div class="col-last odd-row-color">
<div class="block">Interface that encapsulates optionally sending a Region's size to the master.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/RegionSizeImpl.html#org.apache.hadoop.hbase.quotas">RegionSizeImpl</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/RegionSizeImpl.html#org.apache.hadoop.hbase.quotas">RegionSizeImpl</a></div>
+<div class="col-last even-row-color">
<div class="block">An object encapsulating a Region's size and whether it's been reported to the master since the
value last changed.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/RegionSizeReportingChore.html#org.apache.hadoop.hbase.quotas">RegionSizeReportingChore</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/RegionSizeReportingChore.html#org.apache.hadoop.hbase.quotas">RegionSizeReportingChore</a></div>
+<div class="col-last odd-row-color">
<div class="block">A Chore which sends the region size reports on this RegionServer to the Master.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/RegionSizeStore.html#org.apache.hadoop.hbase.quotas">RegionSizeStore</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/RegionSizeStore.html#org.apache.hadoop.hbase.quotas">RegionSizeStore</a></div>
+<div class="col-last even-row-color">
<div class="block">An interface for concurrently storing and updating the size of a Region.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/RegionSizeStoreFactory.html#org.apache.hadoop.hbase.quotas">RegionSizeStoreFactory</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/RegionSizeStoreFactory.html#org.apache.hadoop.hbase.quotas">RegionSizeStoreFactory</a></div>
+<div class="col-last odd-row-color">
<div class="block">A factory class for creating implementations of <a href="RegionSizeStore.html" title="interface in org.apache.hadoop.hbase.quotas"><code>RegionSizeStore</code></a>.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/RpcQuotaManager.html#org.apache.hadoop.hbase.quotas">RpcQuotaManager</a></div>
-<div class="col-last odd-row-color"> </div>
-<div class="col-first even-row-color"><a href="class-use/RpcThrottleStorage.html#org.apache.hadoop.hbase.quotas">RpcThrottleStorage</a></div>
-<div class="col-last even-row-color">
+<div class="col-first even-row-color"><a href="class-use/RpcQuotaManager.html#org.apache.hadoop.hbase.quotas">RpcQuotaManager</a></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><a href="class-use/RpcThrottleStorage.html#org.apache.hadoop.hbase.quotas">RpcThrottleStorage</a></div>
+<div class="col-last odd-row-color">
<div class="block">ZK based rpc throttle storage.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/RpcThrottlingException.html#org.apache.hadoop.hbase.quotas">RpcThrottlingException</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/RpcThrottlingException.html#org.apache.hadoop.hbase.quotas">RpcThrottlingException</a></div>
+<div class="col-last even-row-color">
<div class="block">Describe the throttling result.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/RpcThrottlingException.Type.html#org.apache.hadoop.hbase.quotas">RpcThrottlingException.Type</a></div>
-<div class="col-last even-row-color"> </div>
-<div class="col-first odd-row-color"><a href="class-use/SpaceLimitingException.html#org.apache.hadoop.hbase.quotas">SpaceLimitingException</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first odd-row-color"><a href="class-use/RpcThrottlingException.Type.html#org.apache.hadoop.hbase.quotas">RpcThrottlingException.Type</a></div>
+<div class="col-last odd-row-color"> </div>
+<div class="col-first even-row-color"><a href="class-use/SpaceLimitingException.html#org.apache.hadoop.hbase.quotas">SpaceLimitingException</a></div>
+<div class="col-last even-row-color">
<div class="block">An Exception that is thrown when a space quota is in violation.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/SpaceLimitSettings.html#org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/SpaceLimitSettings.html#org.apache.hadoop.hbase.quotas">SpaceLimitSettings</a></div>
+<div class="col-last odd-row-color">
<div class="block">A <a href="QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas"><code>QuotaSettings</code></a> implementation for configuring filesystem-use quotas.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/SpaceQuotaRefresherChore.html#org.apache.hadoop.hbase.quotas">SpaceQuotaRefresherChore</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/SpaceQuotaRefresherChore.html#org.apache.hadoop.hbase.quotas">SpaceQuotaRefresherChore</a></div>
+<div class="col-last even-row-color">
<div class="block">A <a href="../ScheduledChore.html" title="class in org.apache.hadoop.hbase"><code>ScheduledChore</code></a> which periodically updates the <a href="RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas"><code>RegionServerSpaceQuotaManager</code></a>
with information from the hbase:quota.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/SpaceQuotaSnapshot.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/SpaceQuotaSnapshot.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot</a></div>
+<div class="col-last odd-row-color">
<div class="block">A point-in-time view of a space quota on a table.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/SpaceQuotaSnapshot.SpaceQuotaStatus.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot.SpaceQuotaStatus</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/SpaceQuotaSnapshot.SpaceQuotaStatus.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshot.SpaceQuotaStatus</a></div>
+<div class="col-last even-row-color">
<div class="block">Encapsulates the state of a quota on a table.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/SpaceQuotaSnapshotNotifier.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/SpaceQuotaSnapshotNotifier.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a></div>
+<div class="col-last odd-row-color">
<div class="block">An interface which abstract away the action taken to enable or disable a space quota violation
policy across the HBase cluster.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/SpaceQuotaSnapshotNotifierFactory.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifierFactory</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/SpaceQuotaSnapshotNotifierFactory.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifierFactory</a></div>
+<div class="col-last even-row-color">
<div class="block">Factory for creating <a href="SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas"><code>SpaceQuotaSnapshotNotifier</code></a> implementations.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/SpaceQuotaSnapshotView.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/SpaceQuotaSnapshotView.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView</a></div>
+<div class="col-last odd-row-color">
<div class="block">A point-in-time view of a space quota on a table, read only.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/SpaceQuotaSnapshotView.SpaceQuotaStatusView.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView.SpaceQuotaStatusView</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/SpaceQuotaSnapshotView.SpaceQuotaStatusView.html#org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotView.SpaceQuotaStatusView</a></div>
+<div class="col-last even-row-color">
<div class="block">Encapsulates the state of a quota on a table.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/SpaceViolationPolicy.html#org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/SpaceViolationPolicy.html#org.apache.hadoop.hbase.quotas">SpaceViolationPolicy</a></div>
+<div class="col-last odd-row-color">
<div class="block">Enumeration that represents the action HBase will take when a space quota is violated.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/SpaceViolationPolicyEnforcement.html#org.apache.hadoop.hbase.quotas">SpaceViolationPolicyEnforcement</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/SpaceViolationPolicyEnforcement.html#org.apache.hadoop.hbase.quotas">SpaceViolationPolicyEnforcement</a></div>
+<div class="col-last even-row-color">
<div class="block">RegionServer implementation of <a href="SpaceViolationPolicy.html" title="enum class in org.apache.hadoop.hbase.quotas"><code>SpaceViolationPolicy</code></a>.</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/SpaceViolationPolicyEnforcementFactory.html#org.apache.hadoop.hbase.quotas">SpaceViolationPolicyEnforcementFactory</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/SpaceViolationPolicyEnforcementFactory.html#org.apache.hadoop.hbase.quotas">SpaceViolationPolicyEnforcementFactory</a></div>
+<div class="col-last odd-row-color">
<div class="block">A factory class for instantiating <a href="SpaceViolationPolicyEnforcement.html" title="interface in org.apache.hadoop.hbase.quotas"><code>SpaceViolationPolicyEnforcement</code></a> instances.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/ThrottleSettings.html#org.apache.hadoop.hbase.quotas">ThrottleSettings</a></div>
-<div class="col-last odd-row-color"> </div>
-<div class="col-first even-row-color"><a href="class-use/ThrottleType.html#org.apache.hadoop.hbase.quotas">ThrottleType</a></div>
-<div class="col-last even-row-color">
+<div class="col-first even-row-color"><a href="class-use/ThrottleSettings.html#org.apache.hadoop.hbase.quotas">ThrottleSettings</a></div>
+<div class="col-last even-row-color"> </div>
+<div class="col-first odd-row-color"><a href="class-use/ThrottleType.html#org.apache.hadoop.hbase.quotas">ThrottleType</a></div>
+<div class="col-last odd-row-color">
<div class="block">Describe the Throttle Type.</div>
</div>
-<div class="col-first odd-row-color"><a href="class-use/TimeBasedLimiter.html#org.apache.hadoop.hbase.quotas">TimeBasedLimiter</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/TimeBasedLimiter.html#org.apache.hadoop.hbase.quotas">TimeBasedLimiter</a></div>
+<div class="col-last even-row-color">
<div class="block">Simple time based limiter that checks the quota Throttle</div>
</div>
-<div class="col-first even-row-color"><a href="class-use/UserQuotaState.html#org.apache.hadoop.hbase.quotas">UserQuotaState</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/UserQuotaState.html#org.apache.hadoop.hbase.quotas">UserQuotaState</a></div>
+<div class="col-last odd-row-color">
<div class="block">In-Memory state of the user quotas</div>
</div>
</div>
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index 22b6eedf20c..4cc31c366d2 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -1879,6 +1879,7 @@ loadScripts(document, 'script');</script>
<li class="circle">org.apache.hadoop.hbase.favored.<a href="org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.html" class="type-name-link" title="class in org.apache.hadoop.hbase.favored">FavoredNodeAssignmentHelper</a></li>
<li class="circle">org.apache.hadoop.hbase.favored.<a href="org/apache/hadoop/hbase/favored/FavoredNodesManager.html" class="type-name-link" title="class in org.apache.hadoop.hbase.favored">FavoredNodesManager</a></li>
<li class="circle">org.apache.hadoop.hbase.favored.<a href="org/apache/hadoop/hbase/favored/FavoredNodesPlan.html" class="type-name-link" title="class in org.apache.hadoop.hbase.favored">FavoredNodesPlan</a></li>
+<li class="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory</a></li>
<li class="circle">org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/FeedUserAuthScanLabelGenerator.html" class="type-name-link" title="class in org.apache.hadoop.hbase.security.visibility">FeedUserAuthScanLabelGenerator</a> (implements org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/ScanLabelGenerator.html" title="interface in org.apache.hadoop.hbase.security.visibility">ScanLabelGenerator</a>)</li>
<li class="circle">org.apache.hadoop.hbase.hbtop.field.<a href="org/apache/hadoop/hbase/hbtop/field/FieldInfo.html" class="type-name-link" title="class in org.apache.hadoop.hbase.hbtop.field">FieldInfo</a></li>
<li class="circle">org.apache.hadoop.hbase.hbtop.screen.field.<a href="org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenPresenter.html" class="type-name-link" title="class in org.apache.hadoop.hbase.hbtop.screen.field">FieldScreenPresenter</a></li>
@@ -3531,6 +3532,7 @@ loadScripts(document, 'script');</script>
<li class="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/RateLimiter.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">RateLimiter</a>
<ul>
<li class="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">AverageIntervalRateLimiter</a></li>
+<li class="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FeedbackAdaptiveRateLimiter</a></li>
<li class="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.html" class="type-name-link" title="class in org.apache.hadoop.hbase.quotas">FixedIntervalRateLimiter</a></li>
</ul>
</li>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html
new file mode 100644
index 00000000000..5f853663197
--- /dev/null
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory.html
@@ -0,0 +1,439 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) -->
+<title>Source code</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="description" content="source: package: org.apache.hadoop.hbase.quotas, class: FeedbackAdaptiveRateLimiter, class: FeedbackAdaptiveRateLimiterFactory">
+<meta name="generator" content="javadoc/SourceToHTMLConverter">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body class="source-page">
+<main role="main">
+<div class="source-container">
+<pre><span class="source-line-no">001</span><span id="line-1">/*</span>
+<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="source-line-no">003</span><span id="line-3"> * or more contributor license agreements. See the NOTICE file</span>
+<span class="source-line-no">004</span><span id="line-4"> * distributed with this work for additional information</span>
+<span class="source-line-no">005</span><span id="line-5"> * regarding copyright ownership. The ASF licenses this file</span>
+<span class="source-line-no">006</span><span id="line-6"> * to you under the Apache License, Version 2.0 (the</span>
+<span class="source-line-no">007</span><span id="line-7"> * "License"); you may not use this file except in compliance</span>
+<span class="source-line-no">008</span><span id="line-8"> * with the License. You may obtain a copy of the License at</span>
+<span class="source-line-no">009</span><span id="line-9"> *</span>
+<span class="source-line-no">010</span><span id="line-10"> * http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="source-line-no">011</span><span id="line-11"> *</span>
+<span class="source-line-no">012</span><span id="line-12"> * Unless required by applicable law or agreed to in writing, software</span>
+<span class="source-line-no">013</span><span id="line-13"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
+<span class="source-line-no">014</span><span id="line-14"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="source-line-no">015</span><span id="line-15"> * See the License for the specific language governing permissions and</span>
+<span class="source-line-no">016</span><span id="line-16"> * limitations under the License.</span>
+<span class="source-line-no">017</span><span id="line-17"> */</span>
+<span class="source-line-no">018</span><span id="line-18">package org.apache.hadoop.hbase.quotas;</span>
+<span class="source-line-no">019</span><span id="line-19"></span>
+<span class="source-line-no">020</span><span id="line-20">import java.util.concurrent.atomic.AtomicLong;</span>
+<span class="source-line-no">021</span><span id="line-21">import org.apache.hadoop.conf.Configuration;</span>
+<span class="source-line-no">022</span><span id="line-22">import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;</span>
+<span class="source-line-no">023</span><span id="line-23">import org.apache.yetus.audience.InterfaceAudience;</span>
+<span class="source-line-no">024</span><span id="line-24">import org.apache.yetus.audience.InterfaceStability;</span>
+<span class="source-line-no">025</span><span id="line-25"></span>
+<span class="source-line-no">026</span><span id="line-26">import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;</span>
+<span class="source-line-no">027</span><span id="line-27">import org.apache.hbase.thirdparty.com.google.common.util.concurrent.AtomicDouble;</span>
+<span class="source-line-no">028</span><span id="line-28"></span>
+<span class="source-line-no">029</span><span id="line-29">/**</span>
+<span class="source-line-no">030</span><span id="line-30"> * An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns</span>
+<span class="source-line-no">031</span><span id="line-31"> * to achieve stable, full utilization of configured quota allowances while managing client</span>
+<span class="source-line-no">032</span><span id="line-32"> * contention.</span>
+<span class="source-line-no">033</span><span id="line-33"> * <p></span>
+<span class="source-line-no">034</span><span id="line-34"> * <b>Core Algorithm:</b> This rate limiter divides time into fixed refill intervals (configurable</span>
+<span class="source-line-no">035</span><span id="line-35"> * via {@code hbase.quota.rate.limiter.refill.interval.ms}, default is 1 refill per TimeUnit of the</span>
+<span class="source-line-no">036</span><span id="line-36"> * RateLimiter). At the beginning of each interval, a fresh allocation of resources becomes</span>
+<span class="source-line-no">037</span><span id="line-37"> * available based on the configured limit. Clients consume resources as they make requests. When</span>
+<span class="source-line-no">038</span><span id="line-38"> * resources are exhausted, clients must wait until the next refill, or until enough resources</span>
+<span class="source-line-no">039</span><span id="line-39"> * become available.</span>
+<span class="source-line-no">040</span><span id="line-40"> * <p></span>
+<span class="source-line-no">041</span><span id="line-41"> * <b>Adaptive Backpressure:</b> When multiple threads compete for limited resources (contention),</span>
+<span class="source-line-no">042</span><span id="line-42"> * this limiter detects the contention and applies increasing backpressure by extending wait</span>
+<span class="source-line-no">043</span><span id="line-43"> * intervals. This prevents thundering herd behavior where many threads wake simultaneously and</span>
+<span class="source-line-no">044</span><span id="line-44"> * compete for the same resources. The backoff multiplier increases by a small increment (see</span>
+<span class="source-line-no">045</span><span id="line-45"> * {@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT}) per interval when contention occurs, and</span>
+<span class="source-line-no">046</span><span id="line-46"> * decreases (see {@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT}) when no contention is</span>
+<span class="source-line-no">047</span><span id="line-47"> * detected, converging toward optimal throughput. The multiplier is capped at a maximum value (see</span>
+<span class="source-line-no">048</span><span id="line-48"> * {@link #FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER}) to prevent unbounded waits.</span>
+<span class="source-line-no">049</span><span id="line-49"> * <p></span>
+<span class="source-line-no">050</span><span id="line-50"> * Contention is detected when {@link #getWaitInterval} is called with insufficient available</span>
+<span class="source-line-no">051</span><span id="line-51"> * resources (i.e., {@code amount > available}), indicating a thread needs to wait for resources. If</span>
+<span class="source-line-no">052</span><span id="line-52"> * this occurs more than once in a refill interval, the limiter identifies it as contention</span>
+<span class="source-line-no">053</span><span id="line-53"> * requiring increased backpressure.</span>
+<span class="source-line-no">054</span><span id="line-54"> * <p></span>
+<span class="source-line-no">055</span><span id="line-55"> * <b>Oversubscription for Full Utilization:</b> In practice, synchronization overhead and timing</span>
+<span class="source-line-no">056</span><span id="line-56"> * variations often prevent clients from consuming exactly their full allowance, resulting in</span>
+<span class="source-line-no">057</span><span id="line-57"> * consistent under-utilization. This limiter addresses this by tracking utilization via an</span>
+<span class="source-line-no">058</span><span id="line-58"> * exponentially weighted moving average (EWMA). When average utilization falls below the target</span>
+<span class="source-line-no">059</span><span id="line-59"> * range (determined by {@link #FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET}), the limiter gradually</span>
+<span class="source-line-no">060</span><span id="line-60"> * increases the oversubscription proportion (see</span>
+<span class="source-line-no">061</span><span id="line-61"> * {@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT}), allowing more resources per interval than</span>
+<span class="source-line-no">062</span><span id="line-62"> * the base limit. Conversely, when utilization exceeds the target range, oversubscription is</span>
+<span class="source-line-no">063</span><span id="line-63"> * decreased (see {@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT}). Oversubscription is capped</span>
+<span class="source-line-no">064</span><span id="line-64"> * (see {@link #FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION}) to prevent excessive bursts while still</span>
+<span class="source-line-no">065</span><span id="line-65"> * enabling consistent full utilization.</span>
+<span class="source-line-no">066</span><span id="line-66"> * <p></span>
+<span class="source-line-no">067</span><span id="line-67"> * <b>Example Scenario:</b> Consider a quota of 1000 requests per second with a 1-second refill</span>
+<span class="source-line-no">068</span><span id="line-68"> * interval. Without oversubscription, clients might typically achieve only 950 req/s due to</span>
+<span class="source-line-no">069</span><span id="line-69"> * coordination delays. This limiter would detect the under-utilization, gradually increase</span>
+<span class="source-line-no">070</span><span id="line-70"> * oversubscription, allowing slightly more resources per interval, which compensates for</span>
+<span class="source-line-no">071</span><span id="line-71"> * inefficiencies and achieves stable throughput closer to the configured quota. If multiple threads</span>
+<span class="source-line-no">072</span><span id="line-72"> * simultaneously try to consume resources and repeatedly wait, the backoff multiplier increases</span>
+<span class="source-line-no">073</span><span id="line-73"> * their wait times, spreading out their retry attempts and reducing wasted CPU cycles.</span>
+<span class="source-line-no">074</span><span id="line-74"> * <p></span>
+<span class="source-line-no">075</span><span id="line-75"> * <b>Configuration Parameters:</b></span>
+<span class="source-line-no">076</span><span id="line-76"> * <ul></span>
+<span class="source-line-no">077</span><span id="line-77"> * <li>{@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT}: Controls rate of backpressure</span>
+<span class="source-line-no">078</span><span id="line-78"> * increase</li></span>
+<span class="source-line-no">079</span><span id="line-79"> * <li>{@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT}: Controls rate of backpressure</span>
+<span class="source-line-no">080</span><span id="line-80"> * decrease</li></span>
+<span class="source-line-no">081</span><span id="line-81"> * <li>{@link #FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER}: Caps the maximum wait time extension</li></span>
+<span class="source-line-no">082</span><span id="line-82"> * <li>{@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT}: Controls rate of oversubscription</span>
+<span class="source-line-no">083</span><span id="line-83"> * increase</li></span>
+<span class="source-line-no">084</span><span id="line-84"> * <li>{@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT}: Controls rate of oversubscription</span>
+<span class="source-line-no">085</span><span id="line-85"> * decrease</li></span>
+<span class="source-line-no">086</span><span id="line-86"> * <li>{@link #FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION}: Caps the maximum burst capacity</li></span>
+<span class="source-line-no">087</span><span id="line-87"> * <li>{@link #FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET}: Defines the acceptable range around full</span>
+<span class="source-line-no">088</span><span id="line-88"> * utilization</li></span>
+<span class="source-line-no">089</span><span id="line-89"> * </ul></span>
+<span class="source-line-no">090</span><span id="line-90"> * <p></span>
+<span class="source-line-no">091</span><span id="line-91"> * This algorithm converges toward stable operation where: (1) wait intervals are just long enough</span>
+<span class="source-line-no">092</span><span id="line-92"> * to prevent excessive contention, and (2) oversubscription is just high enough to achieve</span>
+<span class="source-line-no">093</span><span id="line-93"> * consistent full utilization of the configured allowance.</span>
+<span class="source-line-no">094</span><span id="line-94"> */</span>
+<span class="source-line-no">095</span><span id="line-95">@InterfaceAudience.Private</span>
+<span class="source-line-no">096</span><span id="line-96">@InterfaceStability.Evolving</span>
+<span class="source-line-no">097</span><span id="line-97">public class FeedbackAdaptiveRateLimiter extends RateLimiter {</span>
+<span class="source-line-no">098</span><span id="line-98"></span>
+<span class="source-line-no">099</span><span id="line-99"> /**</span>
+<span class="source-line-no">100</span><span id="line-100"> * Amount to increase the backoff multiplier when contention is detected per refill interval. In</span>
+<span class="source-line-no">101</span><span id="line-101"> * other words, if we are throttling more than once per refill interval, then we will increase our</span>
+<span class="source-line-no">102</span><span id="line-102"> * wait intervals (increase backpressure, decrease throughput).</span>
+<span class="source-line-no">103</span><span id="line-103"> */</span>
+<span class="source-line-no">104</span><span id="line-104"> public static final String FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT =</span>
+<span class="source-line-no">105</span><span id="line-105"> "hbase.quota.rate.limiter.feedback.adaptive.backoff.multiplier.increment";</span>
+<span class="source-line-no">106</span><span id="line-106"> public static final double DEFAULT_BACKOFF_MULTIPLIER_INCREMENT = 0.0005;</span>
+<span class="source-line-no">107</span><span id="line-107"></span>
+<span class="source-line-no">108</span><span id="line-108"> /**</span>
+<span class="source-line-no">109</span><span id="line-109"> * Amount to decrease the backoff multiplier when no contention is detected per refill interval.</span>
+<span class="source-line-no">110</span><span id="line-110"> * In other words, if we are only throttling once per refill interval, then we will decrease our</span>
+<span class="source-line-no">111</span><span id="line-111"> * wait interval (decrease backpressure, increase throughput).</span>
+<span class="source-line-no">112</span><span id="line-112"> */</span>
+<span class="source-line-no">113</span><span id="line-113"> public static final String FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT =</span>
+<span class="source-line-no">114</span><span id="line-114"> "hbase.quota.rate.limiter.feedback.adaptive.backoff.multiplier.decrement";</span>
+<span class="source-line-no">115</span><span id="line-115"> public static final double DEFAULT_BACKOFF_MULTIPLIER_DECREMENT = 0.0001;</span>
+<span class="source-line-no">116</span><span id="line-116"></span>
+<span class="source-line-no">117</span><span id="line-117"> /**</span>
+<span class="source-line-no">118</span><span id="line-118"> * Maximum ceiling for the backoff multiplier to avoid unbounded waits.</span>
+<span class="source-line-no">119</span><span id="line-119"> */</span>
+<span class="source-line-no">120</span><span id="line-120"> public static final String FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER =</span>
+<span class="source-line-no">121</span><span id="line-121"> "hbase.quota.rate.limiter.feedback.adaptive.max.backoff.multiplier";</span>
+<span class="source-line-no">122</span><span id="line-122"> public static final double DEFAULT_MAX_BACKOFF_MULTIPLIER = 10.0;</span>
+<span class="source-line-no">123</span><span id="line-123"></span>
+<span class="source-line-no">124</span><span id="line-124"> /**</span>
+<span class="source-line-no">125</span><span id="line-125"> * Amount to increase the oversubscription proportion when utilization is below (1.0-errorBudget).</span>
+<span class="source-line-no">126</span><span id="line-126"> */</span>
+<span class="source-line-no">127</span><span id="line-127"> public static final String FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT =</span>
+<span class="source-line-no">128</span><span id="line-128"> "hbase.quota.rate.limiter.feedback.adaptive.oversubscription.increment";</span>
+<span class="source-line-no">129</span><span id="line-129"> public static final double DEFAULT_OVERSUBSCRIPTION_INCREMENT = 0.001;</span>
+<span class="source-line-no">130</span><span id="line-130"></span>
+<span class="source-line-no">131</span><span id="line-131"> /**</span>
+<span class="source-line-no">132</span><span id="line-132"> * Amount to decrease the oversubscription proportion when utilization exceeds (1.0+errorBudget).</span>
+<span class="source-line-no">133</span><span id="line-133"> */</span>
+<span class="source-line-no">134</span><span id="line-134"> public static final String FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT =</span>
+<span class="source-line-no">135</span><span id="line-135"> "hbase.quota.rate.limiter.feedback.adaptive.oversubscription.decrement";</span>
+<span class="source-line-no">136</span><span id="line-136"> public static final double DEFAULT_OVERSUBSCRIPTION_DECREMENT = 0.00005;</span>
+<span class="source-line-no">137</span><span id="line-137"></span>
+<span class="source-line-no">138</span><span id="line-138"> /**</span>
+<span class="source-line-no">139</span><span id="line-139"> * Maximum ceiling for oversubscription to prevent unbounded bursts. Some oversubscription can be</span>
+<span class="source-line-no">140</span><span id="line-140"> * nice, because it allows you to balance the inefficiency and latency of retries, landing on</span>
+<span class="source-line-no">141</span><span id="line-141"> * stable usage at approximately your configured allowance. Without adequate oversubscription,</span>
+<span class="source-line-no">142</span><span id="line-142"> * your steady state may often seem significantly, and suspiciously, lower than your configured</span>
+<span class="source-line-no">143</span><span id="line-143"> * allowance.</span>
+<span class="source-line-no">144</span><span id="line-144"> */</span>
+<span class="source-line-no">145</span><span id="line-145"> public static final String FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION =</span>
+<span class="source-line-no">146</span><span id="line-146"> "hbase.quota.rate.limiter.feedback.adaptive.max.oversubscription";</span>
+<span class="source-line-no">147</span><span id="line-147"> public static final double DEFAULT_MAX_OVERSUBSCRIPTION = 0.25;</span>
+<span class="source-line-no">148</span><span id="line-148"></span>
+<span class="source-line-no">149</span><span id="line-149"> /**</span>
+<span class="source-line-no">150</span><span id="line-150"> * Acceptable deviation around full utilization (1.0) for adjusting oversubscription. If stable</span>
+<span class="source-line-no">151</span><span id="line-151"> * throttle usage is typically under (1.0-errorBudget), then we will allow more oversubscription.</span>
+<span class="source-line-no">152</span><span id="line-152"> * If stable throttle usage is typically over (1.0+errorBudget), then we will pull back</span>
+<span class="source-line-no">153</span><span id="line-153"> * oversubscription.</span>
+<span class="source-line-no">154</span><span id="line-154"> */</span>
+<span class="source-line-no">155</span><span id="line-155"> public static final String FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET =</span>
+<span class="source-line-no">156</span><span id="line-156"> "hbase.quota.rate.limiter.feedback.adaptive.utilization.error.budget";</span>
+<span class="source-line-no">157</span><span id="line-157"> public static final double DEFAULT_UTILIZATION_ERROR_BUDGET = 0.025;</span>
+<span class="source-line-no">158</span><span id="line-158"></span>
+<span class="source-line-no">159</span><span id="line-159"> private static final int WINDOW_TIME_MS = 60_000;</span>
+<span class="source-line-no">160</span><span id="line-160"></span>
+<span class="source-line-no">161</span><span id="line-161"> public static class FeedbackAdaptiveRateLimiterFactory {</span>
+<span class="source-line-no">162</span><span id="line-162"></span>
+<span class="source-line-no">163</span><span id="line-163"> private final long refillInterval;</span>
+<span class="source-line-no">164</span><span id="line-164"> private final double backoffMultiplierIncrement;</span>
+<span class="source-line-no">165</span><span id="line-165"> private final double backoffMultiplierDecrement;</span>
+<span class="source-line-no">166</span><span id="line-166"> private final double maxBackoffMultiplier;</span>
+<span class="source-line-no">167</span><span id="line-167"> private final double oversubscriptionIncrement;</span>
+<span class="source-line-no">168</span><span id="line-168"> private final double oversubscriptionDecrement;</span>
+<span class="source-line-no">169</span><span id="line-169"> private final double maxOversubscription;</span>
+<span class="source-line-no">170</span><span id="line-170"> private final double utilizationErrorBudget;</span>
+<span class="source-line-no">171</span><span id="line-171"></span>
+<span class="source-line-no">172</span><span id="line-172"> public FeedbackAdaptiveRateLimiterFactory(Configuration conf) {</span>
+<span class="source-line-no">173</span><span id="line-173"> refillInterval = conf.getLong(FixedIntervalRateLimiter.RATE_LIMITER_REFILL_INTERVAL_MS,</span>
+<span class="source-line-no">174</span><span id="line-174"> RateLimiter.DEFAULT_TIME_UNIT);</span>
+<span class="source-line-no">175</span><span id="line-175"></span>
+<span class="source-line-no">176</span><span id="line-176"> maxBackoffMultiplier =</span>
+<span class="source-line-no">177</span><span id="line-177"> conf.getDouble(FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER, DEFAULT_MAX_BACKOFF_MULTIPLIER);</span>
+<span class="source-line-no">178</span><span id="line-178"></span>
+<span class="source-line-no">179</span><span id="line-179"> backoffMultiplierIncrement = conf.getDouble(FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT,</span>
+<span class="source-line-no">180</span><span id="line-180"> DEFAULT_BACKOFF_MULTIPLIER_INCREMENT);</span>
+<span class="source-line-no">181</span><span id="line-181"> backoffMultiplierDecrement = conf.getDouble(FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT,</span>
+<span class="source-line-no">182</span><span id="line-182"> DEFAULT_BACKOFF_MULTIPLIER_DECREMENT);</span>
+<span class="source-line-no">183</span><span id="line-183"></span>
+<span class="source-line-no">184</span><span id="line-184"> oversubscriptionIncrement = conf.getDouble(FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT,</span>
+<span class="source-line-no">185</span><span id="line-185"> DEFAULT_OVERSUBSCRIPTION_INCREMENT);</span>
+<span class="source-line-no">186</span><span id="line-186"> oversubscriptionDecrement = conf.getDouble(FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT,</span>
+<span class="source-line-no">187</span><span id="line-187"> DEFAULT_OVERSUBSCRIPTION_DECREMENT);</span>
+<span class="source-line-no">188</span><span id="line-188"></span>
+<span class="source-line-no">189</span><span id="line-189"> maxOversubscription =</span>
+<span class="source-line-no">190</span><span id="line-190"> conf.getDouble(FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION, DEFAULT_MAX_OVERSUBSCRIPTION);</span>
+<span class="source-line-no">191</span><span id="line-191"> utilizationErrorBudget = conf.getDouble(FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET,</span>
+<span class="source-line-no">192</span><span id="line-192"> DEFAULT_UTILIZATION_ERROR_BUDGET);</span>
+<span class="source-line-no">193</span><span id="line-193"> }</span>
+<span class="source-line-no">194</span><span id="line-194"></span>
+<span class="source-line-no">195</span><span id="line-195"> public FeedbackAdaptiveRateLimiter create() {</span>
+<span class="source-line-no">196</span><span id="line-196"> return new FeedbackAdaptiveRateLimiter(refillInterval, backoffMultiplierIncrement,</span>
+<span class="source-line-no">197</span><span id="line-197"> backoffMultiplierDecrement, maxBackoffMultiplier, oversubscriptionIncrement,</span>
+<span class="source-line-no">198</span><span id="line-198"> oversubscriptionDecrement, maxOversubscription, utilizationErrorBudget);</span>
+<span class="source-line-no">199</span><span id="line-199"> }</span>
+<span class="source-line-no">200</span><span id="line-200"> }</span>
+<span class="source-line-no">201</span><span id="line-201"></span>
+<span class="source-line-no">202</span><span id="line-202"> private volatile long nextRefillTime = -1L;</span>
+<span class="source-line-no">203</span><span id="line-203"> private final long refillInterval;</span>
+<span class="source-line-no">204</span><span id="line-204"> private final double backoffMultiplierIncrement;</span>
+<span class="source-line-no">205</span><span id="line-205"> private final double backoffMultiplierDecrement;</span>
+<span class="source-line-no">206</span><span id="line-206"> private final double maxBackoffMultiplier;</span>
+<span class="source-line-no">207</span><span id="line-207"> private final double oversubscriptionIncrement;</span>
+<span class="source-line-no">208</span><span id="line-208"> private final double oversubscriptionDecrement;</span>
+<span class="source-line-no">209</span><span id="line-209"> private final double maxOversubscription;</span>
+<span class="source-line-no">210</span><span id="line-210"> private final double minTargetUtilization;</span>
+<span class="source-line-no">211</span><span id="line-211"> private final double maxTargetUtilization;</span>
+<span class="source-line-no">212</span><span id="line-212"></span>
+<span class="source-line-no">213</span><span id="line-213"> // Adaptive backoff state</span>
+<span class="source-line-no">214</span><span id="line-214"> private final AtomicDouble currentBackoffMultiplier = new AtomicDouble(1.0);</span>
+<span class="source-line-no">215</span><span id="line-215"> private volatile boolean hadContentionThisInterval = false;</span>
+<span class="source-line-no">216</span><span id="line-216"></span>
+<span class="source-line-no">217</span><span id="line-217"> // Over-subscription proportion state</span>
+<span class="source-line-no">218</span><span id="line-218"> private final AtomicDouble oversubscriptionProportion = new AtomicDouble(0.0);</span>
+<span class="source-line-no">219</span><span id="line-219"></span>
+<span class="source-line-no">220</span><span id="line-220"> // EWMA tracking</span>
+<span class="source-line-no">221</span><span id="line-221"> private final double emaAlpha;</span>
+<span class="source-line-no">222</span><span id="line-222"> private volatile double utilizationEma = 0.0;</span>
+<span class="source-line-no">223</span><span id="line-223"> private final AtomicLong lastIntervalConsumed;</span>
+<span class="source-line-no">224</span><span id="line-224"></span>
+<span class="source-line-no">225</span><span id="line-225"> FeedbackAdaptiveRateLimiter(long refillInterval, double backoffMultiplierIncrement,</span>
+<span class="source-line-no">226</span><span id="line-226"> double backoffMultiplierDecrement, double maxBackoffMultiplier,</span>
+<span class="source-line-no">227</span><span id="line-227"> double oversubscriptionIncrement, double oversubscriptionDecrement, double maxOversubscription,</span>
+<span class="source-line-no">228</span><span id="line-228"> double utilizationErrorBudget) {</span>
+<span class="source-line-no">229</span><span id="line-229"> super();</span>
+<span class="source-line-no">230</span><span id="line-230"> Preconditions.checkArgument(getTimeUnitInMillis() >= refillInterval, String.format(</span>
+<span class="source-line-no">231</span><span id="line-231"> "Refill interval %s must be ≤ TimeUnit millis %s", refillInterval, getTimeUnitInMillis()));</span>
+<span class="source-line-no">232</span><span id="line-232"></span>
+<span class="source-line-no">233</span><span id="line-233"> Preconditions.checkArgument(backoffMultiplierIncrement > 0.0,</span>
+<span class="source-line-no">234</span><span id="line-234"> String.format("Backoff multiplier increment %s must be > 0.0", backoffMultiplierIncrement));</span>
+<span class="source-line-no">235</span><span id="line-235"> Preconditions.checkArgument(backoffMultiplierDecrement > 0.0,</span>
+<span class="source-line-no">236</span><span id="line-236"> String.format("Backoff multiplier decrement %s must be > 0.0", backoffMultiplierDecrement));</span>
+<span class="source-line-no">237</span><span id="line-237"> Preconditions.checkArgument(maxBackoffMultiplier > 1.0,</span>
+<span class="source-line-no">238</span><span id="line-238"> String.format("Max backoff multiplier %s must be > 1.0", maxBackoffMultiplier));</span>
+<span class="source-line-no">239</span><span id="line-239"> Preconditions.checkArgument(utilizationErrorBudget > 0.0 && utilizationErrorBudget <= 1.0,</span>
+<span class="source-line-no">240</span><span id="line-240"> String.format("Utilization error budget %s must be between 0.0 and 1.0",</span>
+<span class="source-line-no">241</span><span id="line-241"> utilizationErrorBudget));</span>
+<span class="source-line-no">242</span><span id="line-242"></span>
+<span class="source-line-no">243</span><span id="line-243"> this.refillInterval = refillInterval;</span>
+<span class="source-line-no">244</span><span id="line-244"> this.backoffMultiplierIncrement = backoffMultiplierIncrement;</span>
+<span class="source-line-no">245</span><span id="line-245"> this.backoffMultiplierDecrement = backoffMultiplierDecrement;</span>
+<span class="source-line-no">246</span><span id="line-246"> this.maxBackoffMultiplier = maxBackoffMultiplier;</span>
+<span class="source-line-no">247</span><span id="line-247"> this.oversubscriptionIncrement = oversubscriptionIncrement;</span>
+<span class="source-line-no">248</span><span id="line-248"> this.oversubscriptionDecrement = oversubscriptionDecrement;</span>
+<span class="source-line-no">249</span><span id="line-249"> this.maxOversubscription = maxOversubscription;</span>
+<span class="source-line-no">250</span><span id="line-250"> this.minTargetUtilization = 1.0 - utilizationErrorBudget;</span>
+<span class="source-line-no">251</span><span id="line-251"> this.maxTargetUtilization = 1.0 + utilizationErrorBudget;</span>
+<span class="source-line-no">252</span><span id="line-252"></span>
+<span class="source-line-no">253</span><span id="line-253"> this.emaAlpha = refillInterval / (double) (WINDOW_TIME_MS + refillInterval);</span>
+<span class="source-line-no">254</span><span id="line-254"> this.lastIntervalConsumed = new AtomicLong(0);</span>
+<span class="source-line-no">255</span><span id="line-255"> }</span>
+<span class="source-line-no">256</span><span id="line-256"></span>
+<span class="source-line-no">257</span><span id="line-257"> @Override</span>
+<span class="source-line-no">258</span><span id="line-258"> public long refill(long limit) {</span>
+<span class="source-line-no">259</span><span id="line-259"> final long now = EnvironmentEdgeManager.currentTime();</span>
+<span class="source-line-no">260</span><span id="line-260"> if (nextRefillTime == -1) {</span>
+<span class="source-line-no">261</span><span id="line-261"> nextRefillTime = now + refillInterval;</span>
+<span class="source-line-no">262</span><span id="line-262"> hadContentionThisInterval = false;</span>
+<span class="source-line-no">263</span><span id="line-263"> return getOversubscribedLimit(limit);</span>
+<span class="source-line-no">264</span><span id="line-264"> }</span>
+<span class="source-line-no">265</span><span id="line-265"> if (now < nextRefillTime) {</span>
+<span class="source-line-no">266</span><span id="line-266"> return 0;</span>
+<span class="source-line-no">267</span><span id="line-267"> }</span>
+<span class="source-line-no">268</span><span id="line-268"> long diff = refillInterval + now - nextRefillTime;</span>
+<span class="source-line-no">269</span><span id="line-269"> long refills = diff / refillInterval;</span>
+<span class="source-line-no">270</span><span id="line-270"> nextRefillTime = now + refillInterval;</span>
+<span class="source-line-no">271</span><span id="line-271"></span>
+<span class="source-line-no">272</span><span id="line-272"> long intendedUsage = getRefillIntervalAdjustedLimit(limit);</span>
+<span class="source-line-no">273</span><span id="line-273"> if (intendedUsage > 0) {</span>
+<span class="source-line-no">274</span><span id="line-274"> long consumed = lastIntervalConsumed.get();</span>
+<span class="source-line-no">275</span><span id="line-275"> if (consumed > 0) {</span>
+<span class="source-line-no">276</span><span id="line-276"> double util = (double) consumed / intendedUsage;</span>
+<span class="source-line-no">277</span><span id="line-277"> utilizationEma = emaAlpha * util + (1.0 - emaAlpha) * utilizationEma;</span>
+<span class="source-line-no">278</span><span id="line-278"> }</span>
+<span class="source-line-no">279</span><span id="line-279"> }</span>
+<span class="source-line-no">280</span><span id="line-280"></span>
+<span class="source-line-no">281</span><span id="line-281"> if (hadContentionThisInterval) {</span>
+<span class="source-line-no">282</span><span id="line-282"> currentBackoffMultiplier.set(Math</span>
+<span class="source-line-no">283</span><span id="line-283"> .min(currentBackoffMultiplier.get() + backoffMultiplierIncrement, maxBackoffMultiplier));</span>
+<span class="source-line-no">284</span><span id="line-284"> } else {</span>
+<span class="source-line-no">285</span><span id="line-285"> currentBackoffMultiplier</span>
+<span class="source-line-no">286</span><span id="line-286"> .set(Math.max(currentBackoffMultiplier.get() - backoffMultiplierDecrement, 1.0));</span>
+<span class="source-line-no">287</span><span id="line-287"> }</span>
+<span class="source-line-no">288</span><span id="line-288"></span>
+<span class="source-line-no">289</span><span id="line-289"> double avgUtil = utilizationEma;</span>
+<span class="source-line-no">290</span><span id="line-290"> if (avgUtil < minTargetUtilization) {</span>
+<span class="source-line-no">291</span><span id="line-291"> oversubscriptionProportion.set(Math</span>
+<span class="source-line-no">292</span><span id="line-292"> .min(oversubscriptionProportion.get() + oversubscriptionIncrement, maxOversubscription));</span>
+<span class="source-line-no">293</span><span id="line-293"> } else if (avgUtil >= maxTargetUtilization) {</span>
+<span class="source-line-no">294</span><span id="line-294"> oversubscriptionProportion</span>
+<span class="source-line-no">295</span><span id="line-295"> .set(Math.max(oversubscriptionProportion.get() - oversubscriptionDecrement, 0.0));</span>
+<span class="source-line-no">296</span><span id="line-296"> }</span>
+<span class="source-line-no">297</span><span id="line-297"></span>
+<span class="source-line-no">298</span><span id="line-298"> hadContentionThisInterval = false;</span>
+<span class="source-line-no">299</span><span id="line-299"> lastIntervalConsumed.set(0);</span>
+<span class="source-line-no">300</span><span id="line-300"></span>
+<span class="source-line-no">301</span><span id="line-301"> long refillAmount = refills * getRefillIntervalAdjustedLimit(limit);</span>
+<span class="source-line-no">302</span><span id="line-302"> long maxRefill = getOversubscribedLimit(limit);</span>
+<span class="source-line-no">303</span><span id="line-303"> return Math.min(maxRefill, refillAmount);</span>
+<span class="source-line-no">304</span><span id="line-304"> }</span>
+<span class="source-line-no">305</span><span id="line-305"></span>
+<span class="source-line-no">306</span><span id="line-306"> private long getOversubscribedLimit(long limit) {</span>
+<span class="source-line-no">307</span><span id="line-307"> return limit + (long) (limit * oversubscriptionProportion.get());</span>
+<span class="source-line-no">308</span><span id="line-308"> }</span>
+<span class="source-line-no">309</span><span id="line-309"></span>
+<span class="source-line-no">310</span><span id="line-310"> @Override</span>
+<span class="source-line-no">311</span><span id="line-311"> public void consume(long amount) {</span>
+<span class="source-line-no">312</span><span id="line-312"> super.consume(amount);</span>
+<span class="source-line-no">313</span><span id="line-313"> lastIntervalConsumed.addAndGet(amount);</span>
+<span class="source-line-no">314</span><span id="line-314"> }</span>
+<span class="source-line-no">315</span><span id="line-315"></span>
+<span class="source-line-no">316</span><span id="line-316"> @Override</span>
+<span class="source-line-no">317</span><span id="line-317"> public long getWaitInterval(long limit, long available, long amount) {</span>
+<span class="source-line-no">318</span><span id="line-318"> limit = getRefillIntervalAdjustedLimit(limit);</span>
+<span class="source-line-no">319</span><span id="line-319"> if (nextRefillTime == -1) {</span>
+<span class="source-line-no">320</span><span id="line-320"> return 0;</span>
+<span class="source-line-no">321</span><span id="line-321"> }</span>
+<span class="source-line-no">322</span><span id="line-322"></span>
+<span class="source-line-no">323</span><span id="line-323"> final long now = EnvironmentEdgeManager.currentTime();</span>
+<span class="source-line-no">324</span><span id="line-324"> final long refillTime = nextRefillTime;</span>
+<span class="source-line-no">325</span><span id="line-325"> long diff = amount - available;</span>
+<span class="source-line-no">326</span><span id="line-326"> if (diff > 0) {</span>
+<span class="source-line-no">327</span><span id="line-327"> hadContentionThisInterval = true;</span>
+<span class="source-line-no">328</span><span id="line-328"> }</span>
+<span class="source-line-no">329</span><span id="line-329"></span>
+<span class="source-line-no">330</span><span id="line-330"> long nextInterval = refillTime - now;</span>
+<span class="source-line-no">331</span><span id="line-331"> if (diff <= limit) {</span>
+<span class="source-line-no">332</span><span id="line-332"> return applyBackoffMultiplier(nextInterval);</span>
+<span class="source-line-no">333</span><span id="line-333"> }</span>
+<span class="source-line-no">334</span><span id="line-334"></span>
+<span class="source-line-no">335</span><span id="line-335"> long extra = diff / limit;</span>
+<span class="source-line-no">336</span><span id="line-336"> if (diff % limit == 0) {</span>
+<span class="source-line-no">337</span><span id="line-337"> extra--;</span>
+<span class="source-line-no">338</span><span id="line-338"> }</span>
+<span class="source-line-no">339</span><span id="line-339"> long baseWait = nextInterval + (extra * refillInterval);</span>
+<span class="source-line-no">340</span><span id="line-340"> return applyBackoffMultiplier(baseWait);</span>
+<span class="source-line-no">341</span><span id="line-341"> }</span>
+<span class="source-line-no">342</span><span id="line-342"></span>
+<span class="source-line-no">343</span><span id="line-343"> private long getRefillIntervalAdjustedLimit(long limit) {</span>
+<span class="source-line-no">344</span><span id="line-344"> return (long) Math.ceil(refillInterval / (double) getTimeUnitInMillis() * limit);</span>
+<span class="source-line-no">345</span><span id="line-345"> }</span>
+<span class="source-line-no">346</span><span id="line-346"></span>
+<span class="source-line-no">347</span><span id="line-347"> private long applyBackoffMultiplier(long baseWaitInterval) {</span>
+<span class="source-line-no">348</span><span id="line-348"> return (long) (baseWaitInterval * currentBackoffMultiplier.get());</span>
+<span class="source-line-no">349</span><span id="line-349"> }</span>
+<span class="source-line-no">350</span><span id="line-350"></span>
+<span class="source-line-no">351</span><span id="line-351"> // strictly for testing</span>
+<span class="source-line-no">352</span><span id="line-352"> @Override</span>
+<span class="source-line-no">353</span><span id="line-353"> public void setNextRefillTime(long nextRefillTime) {</span>
+<span class="source-line-no">354</span><span id="line-354"> this.nextRefillTime = nextRefillTime;</span>
+<span class="source-line-no">355</span><span id="line-355"> }</span>
+<span class="source-line-no">356</span><span id="line-356"></span>
+<span class="source-line-no">357</span><span id="line-357"> @Override</span>
+<span class="source-line-no">358</span><span id="line-358"> public long getNextRefillTime() {</span>
+<span class="source-line-no">359</span><span id="line-359"> return this.nextRefillTime;</span>
+<span class="source-line-no">360</span><span id="line-360"> }</span>
+<span class="source-line-no">361</span><span id="line-361">}</span>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</main>
+</body>
+</html>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html
new file mode 100644
index 00000000000..771346f24a6
--- /dev/null
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/FeedbackAdaptiveRateLimiter.html
@@ -0,0 +1,439 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) -->
+<title>Source code</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="description" content="source: package: org.apache.hadoop.hbase.quotas, class: FeedbackAdaptiveRateLimiter">
+<meta name="generator" content="javadoc/SourceToHTMLConverter">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body class="source-page">
+<main role="main">
+<div class="source-container">
+<pre><span class="source-line-no">001</span><span id="line-1">/*</span>
+<span class="source-line-no">002</span><span id="line-2"> * Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="source-line-no">003</span><span id="line-3"> * or more contributor license agreements. See the NOTICE file</span>
+<span class="source-line-no">004</span><span id="line-4"> * distributed with this work for additional information</span>
+<span class="source-line-no">005</span><span id="line-5"> * regarding copyright ownership. The ASF licenses this file</span>
+<span class="source-line-no">006</span><span id="line-6"> * to you under the Apache License, Version 2.0 (the</span>
+<span class="source-line-no">007</span><span id="line-7"> * "License"); you may not use this file except in compliance</span>
+<span class="source-line-no">008</span><span id="line-8"> * with the License. You may obtain a copy of the License at</span>
+<span class="source-line-no">009</span><span id="line-9"> *</span>
+<span class="source-line-no">010</span><span id="line-10"> * http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="source-line-no">011</span><span id="line-11"> *</span>
+<span class="source-line-no">012</span><span id="line-12"> * Unless required by applicable law or agreed to in writing, software</span>
+<span class="source-line-no">013</span><span id="line-13"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
+<span class="source-line-no">014</span><span id="line-14"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="source-line-no">015</span><span id="line-15"> * See the License for the specific language governing permissions and</span>
+<span class="source-line-no">016</span><span id="line-16"> * limitations under the License.</span>
+<span class="source-line-no">017</span><span id="line-17"> */</span>
+<span class="source-line-no">018</span><span id="line-18">package org.apache.hadoop.hbase.quotas;</span>
+<span class="source-line-no">019</span><span id="line-19"></span>
+<span class="source-line-no">020</span><span id="line-20">import java.util.concurrent.atomic.AtomicLong;</span>
+<span class="source-line-no">021</span><span id="line-21">import org.apache.hadoop.conf.Configuration;</span>
+<span class="source-line-no">022</span><span id="line-22">import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;</span>
+<span class="source-line-no">023</span><span id="line-23">import org.apache.yetus.audience.InterfaceAudience;</span>
+<span class="source-line-no">024</span><span id="line-24">import org.apache.yetus.audience.InterfaceStability;</span>
+<span class="source-line-no">025</span><span id="line-25"></span>
+<span class="source-line-no">026</span><span id="line-26">import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;</span>
+<span class="source-line-no">027</span><span id="line-27">import org.apache.hbase.thirdparty.com.google.common.util.concurrent.AtomicDouble;</span>
+<span class="source-line-no">028</span><span id="line-28"></span>
+<span class="source-line-no">029</span><span id="line-29">/**</span>
+<span class="source-line-no">030</span><span id="line-30"> * An adaptive rate limiter that dynamically adjusts its behavior based on observed usage patterns</span>
+<span class="source-line-no">031</span><span id="line-31"> * to achieve stable, full utilization of configured quota allowances while managing client</span>
+<span class="source-line-no">032</span><span id="line-32"> * contention.</span>
+<span class="source-line-no">033</span><span id="line-33"> * <p></span>
+<span class="source-line-no">034</span><span id="line-34"> * <b>Core Algorithm:</b> This rate limiter divides time into fixed refill intervals (configurable</span>
+<span class="source-line-no">035</span><span id="line-35"> * via {@code hbase.quota.rate.limiter.refill.interval.ms}, default is 1 refill per TimeUnit of the</span>
+<span class="source-line-no">036</span><span id="line-36"> * RateLimiter). At the beginning of each interval, a fresh allocation of resources becomes</span>
+<span class="source-line-no">037</span><span id="line-37"> * available based on the configured limit. Clients consume resources as they make requests. When</span>
+<span class="source-line-no">038</span><span id="line-38"> * resources are exhausted, clients must wait until the next refill, or until enough resources</span>
+<span class="source-line-no">039</span><span id="line-39"> * become available.</span>
+<span class="source-line-no">040</span><span id="line-40"> * <p></span>
+<span class="source-line-no">041</span><span id="line-41"> * <b>Adaptive Backpressure:</b> When multiple threads compete for limited resources (contention),</span>
+<span class="source-line-no">042</span><span id="line-42"> * this limiter detects the contention and applies increasing backpressure by extending wait</span>
+<span class="source-line-no">043</span><span id="line-43"> * intervals. This prevents thundering herd behavior where many threads wake simultaneously and</span>
+<span class="source-line-no">044</span><span id="line-44"> * compete for the same resources. The backoff multiplier increases by a small increment (see</span>
+<span class="source-line-no">045</span><span id="line-45"> * {@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT}) per interval when contention occurs, and</span>
+<span class="source-line-no">046</span><span id="line-46"> * decreases (see {@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT}) when no contention is</span>
+<span class="source-line-no">047</span><span id="line-47"> * detected, converging toward optimal throughput. The multiplier is capped at a maximum value (see</span>
+<span class="source-line-no">048</span><span id="line-48"> * {@link #FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER}) to prevent unbounded waits.</span>
+<span class="source-line-no">049</span><span id="line-49"> * <p></span>
+<span class="source-line-no">050</span><span id="line-50"> * Contention is detected when {@link #getWaitInterval} is called with insufficient available</span>
+<span class="source-line-no">051</span><span id="line-51"> * resources (i.e., {@code amount > available}), indicating a thread needs to wait for resources. If</span>
+<span class="source-line-no">052</span><span id="line-52"> * this occurs more than once in a refill interval, the limiter identifies it as contention</span>
+<span class="source-line-no">053</span><span id="line-53"> * requiring increased backpressure.</span>
+<span class="source-line-no">054</span><span id="line-54"> * <p></span>
+<span class="source-line-no">055</span><span id="line-55"> * <b>Oversubscription for Full Utilization:</b> In practice, synchronization overhead and timing</span>
+<span class="source-line-no">056</span><span id="line-56"> * variations often prevent clients from consuming exactly their full allowance, resulting in</span>
+<span class="source-line-no">057</span><span id="line-57"> * consistent under-utilization. This limiter addresses this by tracking utilization via an</span>
+<span class="source-line-no">058</span><span id="line-58"> * exponentially weighted moving average (EWMA). When average utilization falls below the target</span>
+<span class="source-line-no">059</span><span id="line-59"> * range (determined by {@link #FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET}), the limiter gradually</span>
+<span class="source-line-no">060</span><span id="line-60"> * increases the oversubscription proportion (see</span>
+<span class="source-line-no">061</span><span id="line-61"> * {@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT}), allowing more resources per interval than</span>
+<span class="source-line-no">062</span><span id="line-62"> * the base limit. Conversely, when utilization exceeds the target range, oversubscription is</span>
+<span class="source-line-no">063</span><span id="line-63"> * decreased (see {@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT}). Oversubscription is capped</span>
+<span class="source-line-no">064</span><span id="line-64"> * (see {@link #FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION}) to prevent excessive bursts while still</span>
+<span class="source-line-no">065</span><span id="line-65"> * enabling consistent full utilization.</span>
+<span class="source-line-no">066</span><span id="line-66"> * <p></span>
+<span class="source-line-no">067</span><span id="line-67"> * <b>Example Scenario:</b> Consider a quota of 1000 requests per second with a 1-second refill</span>
+<span class="source-line-no">068</span><span id="line-68"> * interval. Without oversubscription, clients might typically achieve only 950 req/s due to</span>
+<span class="source-line-no">069</span><span id="line-69"> * coordination delays. This limiter would detect the under-utilization, gradually increase</span>
+<span class="source-line-no">070</span><span id="line-70"> * oversubscription, allowing slightly more resources per interval, which compensates for</span>
+<span class="source-line-no">071</span><span id="line-71"> * inefficiencies and achieves stable throughput closer to the configured quota. If multiple threads</span>
+<span class="source-line-no">072</span><span id="line-72"> * simultaneously try to consume resources and repeatedly wait, the backoff multiplier increases</span>
+<span class="source-line-no">073</span><span id="line-73"> * their wait times, spreading out their retry attempts and reducing wasted CPU cycles.</span>
+<span class="source-line-no">074</span><span id="line-74"> * <p></span>
+<span class="source-line-no">075</span><span id="line-75"> * <b>Configuration Parameters:</b></span>
+<span class="source-line-no">076</span><span id="line-76"> * <ul></span>
+<span class="source-line-no">077</span><span id="line-77"> * <li>{@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT}: Controls rate of backpressure</span>
+<span class="source-line-no">078</span><span id="line-78"> * increase</li></span>
+<span class="source-line-no">079</span><span id="line-79"> * <li>{@link #FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT}: Controls rate of backpressure</span>
+<span class="source-line-no">080</span><span id="line-80"> * decrease</li></span>
+<span class="source-line-no">081</span><span id="line-81"> * <li>{@link #FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER}: Caps the maximum wait time extension</li></span>
+<span class="source-line-no">082</span><span id="line-82"> * <li>{@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT}: Controls rate of oversubscription</span>
+<span class="source-line-no">083</span><span id="line-83"> * increase</li></span>
+<span class="source-line-no">084</span><span id="line-84"> * <li>{@link #FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT}: Controls rate of oversubscription</span>
+<span class="source-line-no">085</span><span id="line-85"> * decrease</li></span>
+<span class="source-line-no">086</span><span id="line-86"> * <li>{@link #FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION}: Caps the maximum burst capacity</li></span>
+<span class="source-line-no">087</span><span id="line-87"> * <li>{@link #FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET}: Defines the acceptable range around full</span>
+<span class="source-line-no">088</span><span id="line-88"> * utilization</li></span>
+<span class="source-line-no">089</span><span id="line-89"> * </ul></span>
+<span class="source-line-no">090</span><span id="line-90"> * <p></span>
+<span class="source-line-no">091</span><span id="line-91"> * This algorithm converges toward stable operation where: (1) wait intervals are just long enough</span>
+<span class="source-line-no">092</span><span id="line-92"> * to prevent excessive contention, and (2) oversubscription is just high enough to achieve</span>
+<span class="source-line-no">093</span><span id="line-93"> * consistent full utilization of the configured allowance.</span>
+<span class="source-line-no">094</span><span id="line-94"> */</span>
+<span class="source-line-no">095</span><span id="line-95">@InterfaceAudience.Private</span>
+<span class="source-line-no">096</span><span id="line-96">@InterfaceStability.Evolving</span>
+<span class="source-line-no">097</span><span id="line-97">public class FeedbackAdaptiveRateLimiter extends RateLimiter {</span>
+<span class="source-line-no">098</span><span id="line-98"></span>
+<span class="source-line-no">099</span><span id="line-99"> /**</span>
+<span class="source-line-no">100</span><span id="line-100"> * Amount to increase the backoff multiplier when contention is detected per refill interval. In</span>
+<span class="source-line-no">101</span><span id="line-101"> * other words, if we are throttling more than once per refill interval, then we will increase our</span>
+<span class="source-line-no">102</span><span id="line-102"> * wait intervals (increase backpressure, decrease throughput).</span>
+<span class="source-line-no">103</span><span id="line-103"> */</span>
+<span class="source-line-no">104</span><span id="line-104"> public static final String FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT =</span>
+<span class="source-line-no">105</span><span id="line-105"> "hbase.quota.rate.limiter.feedback.adaptive.backoff.multiplier.increment";</span>
+<span class="source-line-no">106</span><span id="line-106"> public static final double DEFAULT_BACKOFF_MULTIPLIER_INCREMENT = 0.0005;</span>
+<span class="source-line-no">107</span><span id="line-107"></span>
+<span class="source-line-no">108</span><span id="line-108"> /**</span>
+<span class="source-line-no">109</span><span id="line-109"> * Amount to decrease the backoff multiplier when no contention is detected per refill interval.</span>
+<span class="source-line-no">110</span><span id="line-110"> * In other words, if we are only throttling once per refill interval, then we will decrease our</span>
+<span class="source-line-no">111</span><span id="line-111"> * wait interval (decrease backpressure, increase throughput).</span>
+<span class="source-line-no">112</span><span id="line-112"> */</span>
+<span class="source-line-no">113</span><span id="line-113"> public static final String FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT =</span>
+<span class="source-line-no">114</span><span id="line-114"> "hbase.quota.rate.limiter.feedback.adaptive.backoff.multiplier.decrement";</span>
+<span class="source-line-no">115</span><span id="line-115"> public static final double DEFAULT_BACKOFF_MULTIPLIER_DECREMENT = 0.0001;</span>
+<span class="source-line-no">116</span><span id="line-116"></span>
+<span class="source-line-no">117</span><span id="line-117"> /**</span>
+<span class="source-line-no">118</span><span id="line-118"> * Maximum ceiling for the backoff multiplier to avoid unbounded waits.</span>
+<span class="source-line-no">119</span><span id="line-119"> */</span>
+<span class="source-line-no">120</span><span id="line-120"> public static final String FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER =</span>
+<span class="source-line-no">121</span><span id="line-121"> "hbase.quota.rate.limiter.feedback.adaptive.max.backoff.multiplier";</span>
+<span class="source-line-no">122</span><span id="line-122"> public static final double DEFAULT_MAX_BACKOFF_MULTIPLIER = 10.0;</span>
+<span class="source-line-no">123</span><span id="line-123"></span>
+<span class="source-line-no">124</span><span id="line-124"> /**</span>
+<span class="source-line-no">125</span><span id="line-125"> * Amount to increase the oversubscription proportion when utilization is below (1.0-errorBudget).</span>
+<span class="source-line-no">126</span><span id="line-126"> */</span>
+<span class="source-line-no">127</span><span id="line-127"> public static final String FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT =</span>
+<span class="source-line-no">128</span><span id="line-128"> "hbase.quota.rate.limiter.feedback.adaptive.oversubscription.increment";</span>
+<span class="source-line-no">129</span><span id="line-129"> public static final double DEFAULT_OVERSUBSCRIPTION_INCREMENT = 0.001;</span>
+<span class="source-line-no">130</span><span id="line-130"></span>
+<span class="source-line-no">131</span><span id="line-131"> /**</span>
+<span class="source-line-no">132</span><span id="line-132"> * Amount to decrease the oversubscription proportion when utilization exceeds (1.0+errorBudget).</span>
+<span class="source-line-no">133</span><span id="line-133"> */</span>
+<span class="source-line-no">134</span><span id="line-134"> public static final String FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT =</span>
+<span class="source-line-no">135</span><span id="line-135"> "hbase.quota.rate.limiter.feedback.adaptive.oversubscription.decrement";</span>
+<span class="source-line-no">136</span><span id="line-136"> public static final double DEFAULT_OVERSUBSCRIPTION_DECREMENT = 0.00005;</span>
+<span class="source-line-no">137</span><span id="line-137"></span>
+<span class="source-line-no">138</span><span id="line-138"> /**</span>
+<span class="source-line-no">139</span><span id="line-139"> * Maximum ceiling for oversubscription to prevent unbounded bursts. Some oversubscription can be</span>
+<span class="source-line-no">140</span><span id="line-140"> * nice, because it allows you to balance the inefficiency and latency of retries, landing on</span>
+<span class="source-line-no">141</span><span id="line-141"> * stable usage at approximately your configured allowance. Without adequate oversubscription,</span>
+<span class="source-line-no">142</span><span id="line-142"> * your steady state may often seem significantly, and suspiciously, lower than your configured</span>
+<span class="source-line-no">143</span><span id="line-143"> * allowance.</span>
+<span class="source-line-no">144</span><span id="line-144"> */</span>
+<span class="source-line-no">145</span><span id="line-145"> public static final String FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION =</span>
+<span class="source-line-no">146</span><span id="line-146"> "hbase.quota.rate.limiter.feedback.adaptive.max.oversubscription";</span>
+<span class="source-line-no">147</span><span id="line-147"> public static final double DEFAULT_MAX_OVERSUBSCRIPTION = 0.25;</span>
+<span class="source-line-no">148</span><span id="line-148"></span>
+<span class="source-line-no">149</span><span id="line-149"> /**</span>
+<span class="source-line-no">150</span><span id="line-150"> * Acceptable deviation around full utilization (1.0) for adjusting oversubscription. If stable</span>
+<span class="source-line-no">151</span><span id="line-151"> * throttle usage is typically under (1.0-errorBudget), then we will allow more oversubscription.</span>
+<span class="source-line-no">152</span><span id="line-152"> * If stable throttle usage is typically over (1.0+errorBudget), then we will pull back</span>
+<span class="source-line-no">153</span><span id="line-153"> * oversubscription.</span>
+<span class="source-line-no">154</span><span id="line-154"> */</span>
+<span class="source-line-no">155</span><span id="line-155"> public static final String FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET =</span>
+<span class="source-line-no">156</span><span id="line-156"> "hbase.quota.rate.limiter.feedback.adaptive.utilization.error.budget";</span>
+<span class="source-line-no">157</span><span id="line-157"> public static final double DEFAULT_UTILIZATION_ERROR_BUDGET = 0.025;</span>
+<span class="source-line-no">158</span><span id="line-158"></span>
+<span class="source-line-no">159</span><span id="line-159"> private static final int WINDOW_TIME_MS = 60_000;</span>
+<span class="source-line-no">160</span><span id="line-160"></span>
+<span class="source-line-no">161</span><span id="line-161"> public static class FeedbackAdaptiveRateLimiterFactory {</span>
+<span class="source-line-no">162</span><span id="line-162"></span>
+<span class="source-line-no">163</span><span id="line-163"> private final long refillInterval;</span>
+<span class="source-line-no">164</span><span id="line-164"> private final double backoffMultiplierIncrement;</span>
+<span class="source-line-no">165</span><span id="line-165"> private final double backoffMultiplierDecrement;</span>
+<span class="source-line-no">166</span><span id="line-166"> private final double maxBackoffMultiplier;</span>
+<span class="source-line-no">167</span><span id="line-167"> private final double oversubscriptionIncrement;</span>
+<span class="source-line-no">168</span><span id="line-168"> private final double oversubscriptionDecrement;</span>
+<span class="source-line-no">169</span><span id="line-169"> private final double maxOversubscription;</span>
+<span class="source-line-no">170</span><span id="line-170"> private final double utilizationErrorBudget;</span>
+<span class="source-line-no">171</span><span id="line-171"></span>
+<span class="source-line-no">172</span><span id="line-172"> public FeedbackAdaptiveRateLimiterFactory(Configuration conf) {</span>
+<span class="source-line-no">173</span><span id="line-173"> refillInterval = conf.getLong(FixedIntervalRateLimiter.RATE_LIMITER_REFILL_INTERVAL_MS,</span>
+<span class="source-line-no">174</span><span id="line-174"> RateLimiter.DEFAULT_TIME_UNIT);</span>
+<span class="source-line-no">175</span><span id="line-175"></span>
+<span class="source-line-no">176</span><span id="line-176"> maxBackoffMultiplier =</span>
+<span class="source-line-no">177</span><span id="line-177"> conf.getDouble(FEEDBACK_ADAPTIVE_MAX_BACKOFF_MULTIPLIER, DEFAULT_MAX_BACKOFF_MULTIPLIER);</span>
+<span class="source-line-no">178</span><span id="line-178"></span>
+<span class="source-line-no">179</span><span id="line-179"> backoffMultiplierIncrement = conf.getDouble(FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_INCREMENT,</span>
+<span class="source-line-no">180</span><span id="line-180"> DEFAULT_BACKOFF_MULTIPLIER_INCREMENT);</span>
+<span class="source-line-no">181</span><span id="line-181"> backoffMultiplierDecrement = conf.getDouble(FEEDBACK_ADAPTIVE_BACKOFF_MULTIPLIER_DECREMENT,</span>
+<span class="source-line-no">182</span><span id="line-182"> DEFAULT_BACKOFF_MULTIPLIER_DECREMENT);</span>
+<span class="source-line-no">183</span><span id="line-183"></span>
+<span class="source-line-no">184</span><span id="line-184"> oversubscriptionIncrement = conf.getDouble(FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_INCREMENT,</span>
+<span class="source-line-no">185</span><span id="line-185"> DEFAULT_OVERSUBSCRIPTION_INCREMENT);</span>
+<span class="source-line-no">186</span><span id="line-186"> oversubscriptionDecrement = conf.getDouble(FEEDBACK_ADAPTIVE_OVERSUBSCRIPTION_DECREMENT,</span>
+<span class="source-line-no">187</span><span id="line-187"> DEFAULT_OVERSUBSCRIPTION_DECREMENT);</span>
+<span class="source-line-no">188</span><span id="line-188"></span>
+<span class="source-line-no">189</span><span id="line-189"> maxOversubscription =</span>
+<span class="source-line-no">190</span><span id="line-190"> conf.getDouble(FEEDBACK_ADAPTIVE_MAX_OVERSUBSCRIPTION, DEFAULT_MAX_OVERSUBSCRIPTION);</span>
+<span class="source-line-no">191</span><span id="line-191"> utilizationErrorBudget = conf.getDouble(FEEDBACK_ADAPTIVE_UTILIZATION_ERROR_BUDGET,</span>
+<span class="source-line-no">192</span><span id="line-192"> DEFAULT_UTILIZATION_ERROR_BUDGET);</span>
+<span class="source-line-no">193</span><span id="line-193"> }</span>
+<span class="source-line-no">194</span><span id="line-194"></span>
+<span class="source-line-no">195</span><span id="line-195"> public FeedbackAdaptiveRateLimiter create() {</span>
+<span class="source-line-no">196</span><span id="line-196"> return new FeedbackAdaptiveRateLimiter(refillInterval, backoffMultiplierIncrement,</span>
+<span class="source-line-no">197</span><span id="line-197"> backoffMultiplierDecrement, maxBackoffMultiplier, oversubscriptionIncrement,</span>
+<span class="source-line-no">198</span><span id="line-198"> oversubscriptionDecrement, maxOversubscription, utilizationErrorBudget);</span>
+<span class="source-line-no">199</span><span id="line-199"> }</span>
+<span class="source-line-no">200</span><span id="line-200"> }</span>
+<span class="source-line-no">201</span><span id="line-201"></span>
+<span class="source-line-no">202</span><span id="line-202"> private volatile long nextRefillTime = -1L;</span>
+<span class="source-line-no">203</span><span id="line-203"> private final long refillInterval;</span>
+<span class="source-line-no">204</span><span id="line-204"> private final double backoffMultiplierIncrement;</span>
+<span class="source-line-no">205</span><span id="line-205"> private final double backoffMultiplierDecrement;</span>
+<span class="source-line-no">206</span><span id="line-206"> private final double maxBackoffMultiplier;</span>
+<span class="source-line-no">207</span><span id="line-207"> private final double oversubscriptionIncrement;</span>
+<span class="source-line-no">208</span><span id="line-208"> private final double oversubscriptionDecrement;</span>
+<span class="source-line-no">209</span><span id="line-209"> private final double maxOversubscription;</span>
+<span class="source-line-no">210</span><span id="line-210"> private final double minTargetUtilization;</span>
+<span class="source-line-no">211</span><span id="line-211"> private final double maxTargetUtilization;</span>
+<span class="source-line-no">212</span><span id="line-212"></span>
+<span class="source-line-no">213</span><span id="line-213"> // Adaptive backoff state</span>
+<span class="source-line-no">214</span><span id="line-214"> private final AtomicDouble currentBackoffMultiplier = new AtomicDouble(1.0);</span>
+<span class="source-line-no">215</span><span id="line-215"> private volatile boolean hadContentionThisInterval = false;</span>
+<span class="source-line-no">216</span><span id="line-216"></span>
+<span class="source-line-no">217</span><span id="line-217"> // Over-subscription proportion state</span>
+<span class="source-line-no">218</span><span id="line-218"> private final AtomicDouble oversubscriptionProportion = new AtomicDouble(0.0);</span>
+<span class="source-line-no">219</span><span id="line-219"></span>
+<span class="source-line-no">220</span><span id="line-220"> // EWMA tracking</span>
+<span class="source-line-no">221</span><span id="line-221"> private final double emaAlpha;</span>
+<span class="source-line-no">222</span><span id="line-222"> private volatile double utilizationEma = 0.0;</span>
+<span class="source-line-no">223</span><span id="line-223"> private final AtomicLong lastIntervalConsumed;</span>
+<span class="source-line-no">224</span><span id="line-224"></span>
+<span class="source-line-no">225</span><span id="line-225"> FeedbackAdaptiveRateLimiter(long refillInterval, double backoffMultiplierIncrement,</span>
+<span class="source-line-no">226</span><span id="line-226"> double backoffMultiplierDecrement, double maxBackoffMultiplier,</span>
+<span class="source-line-no">227</span><span id="line-227"> double oversubscriptionIncrement, double oversubscriptionDecrement, double maxOversubscription,</span>
+<span class="source-line-no">228</span><span id="line-228"> double utilizationErrorBudget) {</span>
+<span class="source-line-no">229</span><span id="line-229"> super();</span>
+<span class="source-line-no">230</span><span id="line-230"> Preconditions.checkArgument(getTimeUnitInMillis() >= refillInterval, String.format(</span>
+<span class="source-line-no">231</span><span id="line-231"> "Refill interval %s must be ≤ TimeUnit millis %s", refillInterval, getTimeUnitInMillis()));</span>
+<span class="source-line-no">232</span><span id="line-232"></span>
+<span class="source-line-no">233</span><span id="line-233"> Preconditions.checkArgument(backoffMultiplierIncrement > 0.0,</span>
+<span class="source-line-no">234</span><span id="line-234"> String.format("Backoff multiplier increment %s must be > 0.0", backoffMultiplierIncrement));</span>
+<span class="source-line-no">235</span><span id="line-235"> Preconditions.checkArgument(backoffMultiplierDecrement > 0.0,</span>
+<span class="source-line-no">236</span><span id="line-236"> String.format("Backoff multiplier decrement %s must be > 0.0", backoffMultiplierDecrement));</span>
+<span class="source-line-no">237</span><span id="line-237"> Preconditions.checkArgument(maxBackoffMultiplier > 1.0,</span>
+<span class="source-line-no">238</span><span id="line-238"> String.format("Max backoff multiplier %s must be > 1.0", maxBackoffMultiplier));</span>
+<span class="source-line-no">239</span><span id="line-239"> Preconditions.checkArgument(utilizationErrorBudget > 0.0 && utilizationErrorBudget <= 1.0,</span>
+<span class="source-line-no">240</span><span id="line-240"> String.format("Utilization error budget %s must be between 0.0 and 1.0",</span>
+<span class="source-line-no">241</span><span id="line-241"> utilizationErrorBudget));</span>
+<span class="source-line-no">242</span><span id="line-242"></span>
+<span class="source-line-no">243</span><span id="line-243"> this.refillInterval = refillInterval;</span>
+<span class="source-line-no">244</span><span id="line-244"> this.backoffMultiplierIncrement = backoffMultiplierIncrement;</span>
+<span class="source-line-no">245</span><span id="line-245"> this.backoffMultiplierDecrement = backoffMultiplierDecrement;</span>
+<span class="source-line-no">246</span><span id="line-246"> this.maxBackoffMultiplier = maxBackoffMultiplier;</span>
+<span class="source-line-no">247</span><span id="line-247"> this.oversubscriptionIncrement = oversubscriptionIncrement;</span>
+<span class="source-line-no">248</span><span id="line-248"> this.oversubscriptionDecrement = oversubscriptionDecrement;</span>
+<span class="source-line-no">249</span><span id="line-249"> this.maxOversubscription = maxOversubscription;</span>
+<span class="source-line-no">250</span><span id="line-250"> this.minTargetUtilization = 1.0 - utilizationErrorBudget;</span>
+<span class="source-line-no">251</span><span id="line-251"> this.maxTargetUtilization = 1.0 + utilizationErrorBudget;</span>
+<span class="source-line-no">252</span><span id="line-252"></span>
+<span class="source-line-no">253</span><span id="line-253"> this.emaAlpha = refillInterval / (double) (WINDOW_TIME_MS + refillInterval);</span>
+<span class="source-line-no">254</span><span id="line-254"> this.lastIntervalConsumed = new AtomicLong(0);</span>
+<span class="source-line-no">255</span><span id="line-255"> }</span>
+<span class="source-line-no">256</span><span id="line-256"></span>
+<span class="source-line-no">257</span><span id="line-257"> @Override</span>
+<span class="source-line-no">258</span><span id="line-258"> public long refill(long limit) {</span>
+<span class="source-line-no">259</span><span id="line-259"> final long now = EnvironmentEdgeManager.currentTime();</span>
+<span class="source-line-no">260</span><span id="line-260"> if (nextRefillTime == -1) {</span>
+<span class="source-line-no">261</span><span id="line-261"> nextRefillTime = now + refillInterval;</span>
+<span class="source-line-no">262</span><span id="line-262"> hadContentionThisInterval = false;</span>
+<span class="source-line-no">263</span><span id="line-263"> return getOversubscribedLimit(limit);</span>
+<span class="source-line-no">264</span><span id="line-264"> }</span>
+<span class="source-line-no">265</span><span id="line-265"> if (now < nextRefillTime) {</span>
+<span class="source-line-no">266</span><span id="line-266"> return 0;</span>
+<span class="source-line-no">267</span><span id="line-267"> }</span>
+<span class="source-line-no">268</span><span id="line-268"> long diff = refillInterval + now - nextRefillTime;</span>
+<span class="source-line-no">269</span><span id="line-269"> long refills = diff / refillInterval;</span>
+<span class="source-line-no">270</span><span id="line-270"> nextRefillTime = now + refillInterval;</span>
+<span class="source-line-no">271</span><span id="line-271"></span>
+<span class="source-line-no">272</span><span id="line-272"> long intendedUsage = getRefillIntervalAdjustedLimit(limit);</span>
+<span class="source-line-no">273</span><span id="line-273"> if (intendedUsage > 0) {</span>
+<span class="source-line-no">274</span><span id="line-274"> long consumed = lastIntervalConsumed.get();</span>
+<span class="source-line-no">275</span><span id="line-275"> if (consumed > 0) {</span>
+<span class="source-line-no">276</span><span id="line-276"> double util = (double) consumed / intendedUsage;</span>
+<span class="source-line-no">277</span><span id="line-277"> utilizationEma = emaAlpha * util + (1.0 - emaAlpha) * utilizationEma;</span>
+<span class="source-line-no">278</span><span id="line-278"> }</span>
+<span class="source-line-no">279</span><span id="line-279"> }</span>
+<span class="source-line-no">280</span><span id="line-280"></span>
+<span class="source-line-no">281</span><span id="line-281"> if (hadContentionThisInterval) {</span>
+<span class="source-line-no">282</span><span id="line-282"> currentBackoffMultiplier.set(Math</span>
+<span class="source-line-no">283</span><span id="line-283"> .min(currentBackoffMultiplier.get() + backoffMultiplierIncrement, maxBackoffMultiplier));</span>
+<span class="source-line-no">284</span><span id="line-284"> } else {</span>
+<span class="source-line-no">285</span><span id="line-285"> currentBackoffMultiplier</span>
+<span class="source-line-no">286</span><span id="line-286"> .set(Math.max(currentBackoffMultiplier.get() - backoffMultiplierDecrement, 1.0));</span>
+<span class="source-line-no">287</span><span id="line-287"> }</span>
+<span class="source-line-no">288</span><span id="line-288"></span>
+<span class="source-line-no">289</span><span id="line-289"> double avgUtil = utilizationEma;</span>
+<span class="source-line-no">290</span><span id="line-290"> if (avgUtil < minTargetUtilization) {</span>
+<span class="source-line-no">291</span><span id="line-291"> oversubscriptionProportion.set(Math</span>
+<span class="source-line-no">292</span><span id="line-292"> .min(oversubscriptionProportion.get() + oversubscriptionIncrement, maxOversubscription));</span>
+<span class="source-line-no">293</span><span id="line-293"> } else if (avgUtil >= maxTargetUtilization) {</span>
+<span class="source-line-no">294</span><span id="line-294"> oversubscriptionProportion</span>
+<span class="source-line-no">295</span><span id="line-295"> .set(Math.max(oversubscriptionProportion.get() - oversubscriptionDecrement, 0.0));</span>
+<span class="source-line-no">296</span><span id="line-296"> }</span>
+<span class="source-line-no">297</span><span id="line-297"></span>
+<span class="source-line-no">298</span><span id="line-298"> hadContentionThisInterval = false;</span>
+<span class="source-line-no">299</span><span id="line-299"> lastIntervalConsumed.set(0);</span>
+<span class="source-line-no">300</span><span id="line-300"></span>
+<span class="source-line-no">301</span><span id="line-301"> long refillAmount = refills * getRefillIntervalAdjustedLimit(limit);</span>
+<span class="source-line-no">302</span><span id="line-302"> long maxRefill = getOversubscribedLimit(limit);</span>
+<span class="source-line-no">303</span><span id="line-303"> return Math.min(maxRefill, refillAmount);</span>
+<span class="source-line-no">304</span><span id="line-304"> }</span>
+<span class="source-line-no">305</span><span id="line-305"></span>
+<span class="source-line-no">306</span><span id="line-306"> private long getOversubscribedLimit(long limit) {</span>
+<span class="source-line-no">307</span><span id="line-307"> return limit + (long) (limit * oversubscriptionProportion.get());</span>
+<span class="source-line-no">308</span><span id="line-308"> }</span>
+<span class="source-line-no">309</span><span id="line-309"></span>
+<span class="source-line-no">310</span><span id="line-310"> @Override</span>
+<span class="source-line-no">311</span><span id="line-311"> public void consume(long amount) {</span>
+<span class="source-line-no">312</span><span id="line-312"> super.consume(amount);</span>
+<span class="source-line-no">313</span><span id="line-313"> lastIntervalConsumed.addAndGet(amount);</span>
+<span class="source-line-no">314</span><span id="line-314"> }</span>
+<span class="source-line-no">315</span><span id="line-315"></span>
+<span class="source-line-no">316</span><span id="line-316"> @Override</span>
+<span class="source-line-no">317</span><span id="line-317"> public long getWaitInterval(long limit, long available, long amount) {</span>
+<span class="source-line-no">318</span><span id="line-318"> limit = getRefillIntervalAdjustedLimit(limit);</span>
+<span class="source-line-no">319</span><span id="line-319"> if (nextRefillTime == -1) {</span>
+<span class="source-line-no">320</span><span id="line-320"> return 0;</span>
+<span class="source-line-no">321</span><span id="line-321"> }</span>
+<span class="source-line-no">322</span><span id="line-322"></span>
+<span class="source-line-no">323</span><span id="line-323"> final long now = EnvironmentEdgeManager.currentTime();</span>
+<span class="source-line-no">324</span><span id="line-324"> final long refillTime = nextRefillTime;</span>
+<span class="source-line-no">325</span><span id="line-325"> long diff = amount - available;</span>
+<span class="source-line-no">326</span><span id="line-326"> if (diff > 0) {</span>
+<span class="source-line-no">327</span><span id="line-327"> hadContentionThisInterval = true;</span>
+<span class="source-line-no">328</span><span id="line-328"> }</span>
+<span class="source-line-no">329</span><span id="line-329"></span>
+<span class="source-line-no">330</span><span id="line-330"> long nextInterval = refillTime - now;</span>
+<span class="source-line-no">331</span><span id="line-331"> if (diff <= limit) {</span>
+<span class="source-line-no">332</span><span id="line-332"> return applyBackoffMultiplier(nextInterval);</span>
+<span class="source-line-no">333</span><span id="line-333"> }</span>
+<span class="source-line-no">334</span><span id="line-334"></span>
+<span class="source-line-no">335</span><span id="line-335"> long extra = diff / limit;</span>
+<span class="source-line-no">336</span><span id="line-336"> if (diff % limit == 0) {</span>
+<span class="source-line-no">337</span><span id="line-337"> extra--;</span>
+<span class="source-line-no">338</span><span id="line-338"> }</span>
+<span class="source-line-no">339</span><span id="line-339"> long baseWait = nextInterval + (extra * refillInterval);</span>
+<span class="source-line-no">340</span><span id="line-340"> return applyBackoffMultiplier(baseWait);</span>
+<span class="source-line-no">341</span><span id="line-341"> }</span>
+<span class="source-line-no">342</span><span id="line-342"></span>
+<span class="source-line-no">343</span><span id="line-343"> private long getRefillIntervalAdjustedLimit(long limit) {</span>
+<span class="source-line-no">344</span><span id="line-344"> return (long) Math.ceil(refillInterval / (double) getTimeUnitInMillis() * limit);</span>
+<span class="source-line-no">345</span><span id="line-345"> }</span>
+<span class="source-line-no">346</span><span id="line-346"></span>
+<span class="source-line-no">347</span><span id="line-347"> private long applyBackoffMultiplier(long baseWaitInterval) {</span>
+<span class="source-line-no">348</span><span id="line-348"> return (long) (baseWaitInterval * currentBackoffMultiplier.get());</span>
+<span class="source-line-no">349</span><span id="line-349"> }</span>
+<span class="source-line-no">350</span><span id="line-350"></span>
+<span class="source-line-no">351</span><span id="line-351"> // strictly for testing</span>
+<span class="source-line-no">352</span><span id="line-352"> @Override</span>
+<span class="source-line-no">353</span><span id="line-353"> public void setNextRefillTime(long nextRefillTime) {</span>
+<span class="source-line-no">354</span><span id="line-354"> this.nextRefillTime = nextRefillTime;</span>
+<span class="source-line-no">355</span><span id="line-355"> }</span>
+<span class="source-line-no">356</span><span id="line-356"></span>
+<span class="source-line-no">357</span><span id="line-357"> @Override</span>
+<span class="source-line-no">358</span><span id="line-358"> public long getNextRefillTime() {</span>
+<span class="source-line-no">359</span><span id="line-359"> return this.nextRefillTime;</span>
+<span class="source-line-no">360</span><span id="line-360"> }</span>
+<span class="source-line-no">361</span><span id="line-361">}</span>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</main>
+</body>
+</html>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.Type.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.Type.html
index a13b60c5152..be9d53e875f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.Type.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.Type.html
@@ -218,7 +218,18 @@
<span class="source-line-no">205</span><span id="line-205"> }</span>
<span class="source-line-no">206</span><span id="line-206"> return -1;</span>
<span class="source-line-no">207</span><span id="line-207"> }</span>
-<span class="source-line-no">208</span><span id="line-208">}</span>
+<span class="source-line-no">208</span><span id="line-208"></span>
+<span class="source-line-no">209</span><span id="line-209"> /**</span>
+<span class="source-line-no">210</span><span id="line-210"> * There is little value in an RpcThrottlingException having a stack trace, since its cause is</span>
+<span class="source-line-no">211</span><span id="line-211"> * well understood without one. When a RegionServer is under heavy load and needs to serve many</span>
+<span class="source-line-no">212</span><span id="line-212"> * RpcThrottlingExceptions, skipping fillInStackTrace() will save CPU time and allocations, both</span>
+<span class="source-line-no">213</span><span id="line-213"> * here and later when the exception must be serialized over the wire.</span>
+<span class="source-line-no">214</span><span id="line-214"> */</span>
+<span class="source-line-no">215</span><span id="line-215"> @Override</span>
+<span class="source-line-no">216</span><span id="line-216"> public synchronized Throwable fillInStackTrace() {</span>
+<span class="source-line-no">217</span><span id="line-217"> return this;</span>
+<span class="source-line-no">218</span><span id="line-218"> }</span>
+<span class="source-line-no">219</span><span id="line-219">}</span>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.html
index 7cbc6b337d8..aa1cf99f1ac 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/RpcThrottlingException.html
@@ -218,7 +218,18 @@
<span class="source-line-no">205</span><span id="line-205"> }</span>
<span class="source-line-no">206</span><span id="line-206"> return -1;</span>
<span class="source-line-no">207</span><span id="line-207"> }</span>
-<span class="source-line-no">208</span><span id="line-208">}</span>
+<span class="source-line-no">208</span><span id="line-208"></span>
+<span class="source-line-no">209</span><span id="line-209"> /**</span>
+<span class="source-line-no">210</span><span id="line-210"> * There is little value in an RpcThrottlingException having a stack trace, since its cause is</span>
+<span class="source-line-no">211</span><span id="line-211"> * well understood without one. When a RegionServer is under heavy load and needs to serve many</span>
+<span class="source-line-no">212</span><span id="line-212"> * RpcThrottlingExceptions, skipping fillInStackTrace() will save CPU time and allocations, both</span>
+<span class="source-line-no">213</span><span id="line-213"> * here and later when the exception must be serialized over the wire.</span>
+<span class="source-line-no">214</span><span id="line-214"> */</span>
+<span class="source-line-no">215</span><span id="line-215"> @Override</span>
+<span class="source-line-no">216</span><span id="line-216"> public synchronized Throwable fillInStackTrace() {</span>
+<span class="source-line-no">217</span><span id="line-217"> return this;</span>
+<span class="source-line-no">218</span><span id="line-218"> }</span>
+<span class="source-line-no">219</span><span id="line-219">}</span>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html
index 0568a563e78..88e30f1fede 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/quotas/TimeBasedLimiter.html
@@ -59,362 +59,377 @@
<span class="source-line-no">046</span><span id="line-46"> private RateLimiter reqHandlerUsageTimeLimiter = null;</span>
<span class="source-line-no">047</span><span id="line-47"></span>
<span class="source-line-no">048</span><span id="line-48"> private TimeBasedLimiter(Configuration conf) {</span>
-<span class="source-line-no">049</span><span id="line-49"> if (</span>
-<span class="source-line-no">050</span><span id="line-50"> FixedIntervalRateLimiter.class.getName().equals(</span>
-<span class="source-line-no">051</span><span id="line-51"> conf.getClass(RateLimiter.QUOTA_RATE_LIMITER_CONF_KEY, AverageIntervalRateLimiter.class)</span>
-<span class="source-line-no">052</span><span id="line-52"> .getName())</span>
-<span class="source-line-no">053</span><span id="line-53"> ) {</span>
-<span class="source-line-no">054</span><span id="line-54"> long refillInterval = conf.getLong(FixedIntervalRateLimiter.RATE_LIMITER_REFILL_INTERVAL_MS,</span>
-<span class="source-line-no">055</span><span id="line-55"> RateLimiter.DEFAULT_TIME_UNIT);</span>
-<span class="source-line-no">056</span><span id="line-56"> reqsLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">057</span><span id="line-57"> reqSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">058</span><span id="line-58"> writeReqsLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">059</span><span id="line-59"> writeSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">060</span><span id="line-60"> readReqsLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">061</span><span id="line-61"> readSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">062</span><span id="line-62"> reqCapacityUnitLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">063</span><span id="line-63"> writeCapacityUnitLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">064</span><span id="line-64"> readCapacityUnitLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">065</span><span id="line-65"> atomicReqLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">066</span><span id="line-66"> atomicReadSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">067</span><span id="line-67"> atomicWriteSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">068</span><span id="line-68"> reqHandlerUsageTimeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
-<span class="source-line-no">069</span><span id="line-69"> } else {</span>
-<span class="source-line-no">070</span><span id="line-70"> reqsLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">071</span><span id="line-71"> reqSizeLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">072</span><span id="line-72"> writeReqsLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">073</span><span id="line-73"> writeSizeLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">074</span><span id="line-74"> readReqsLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">075</span><span id="line-75"> readSizeLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">076</span><span id="line-76"> reqCapacityUnitLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">077</span><span id="line-77"> writeCapacityUnitLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">078</span><span id="line-78"> readCapacityUnitLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">079</span><span id="line-79"> atomicReqLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">080</span><span id="line-80"> atomicReadSizeLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">081</span><span id="line-81"> atomicWriteSizeLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">082</span><span id="line-82"> reqHandlerUsageTimeLimiter = new AverageIntervalRateLimiter();</span>
-<span class="source-line-no">083</span><span id="line-83"> }</span>
-<span class="source-line-no">084</span><span id="line-84"> }</span>
-<span class="source-line-no">085</span><span id="line-85"></span>
-<span class="source-line-no">086</span><span id="line-86"> static QuotaLimiter fromThrottle(Configuration conf, final Throttle throttle) {</span>
-<span class="source-line-no">087</span><span id="line-87"> TimeBasedLimiter limiter = new TimeBasedLimiter(conf);</span>
-<span class="source-line-no">088</span><span id="line-88"> boolean isBypass = true;</span>
-<span class="source-line-no">089</span><span id="line-89"> if (throttle.hasReqNum()) {</span>
-<span class="source-line-no">090</span><span id="line-90"> setFromTimedQuota(limiter.reqsLimiter, throttle.getReqNum());</span>
-<span class="source-line-no">091</span><span id="line-91"> isBypass = false;</span>
-<span class="source-line-no">092</span><span id="line-92"> }</span>
-<span class="source-line-no">093</span><span id="line-93"></span>
-<span class="source-line-no">094</span><span id="line-94"> if (throttle.hasReqSize()) {</span>
-<span class="source-line-no">095</span><span id="line-95"> setFromTimedQuota(limiter.reqSizeLimiter, throttle.getReqSize());</span>
-<span class="source-line-no">096</span><span id="line-96"> isBypass = false;</span>
-<span class="source-line-no">097</span><span id="line-97"> }</span>
-<span class="source-line-no">098</span><span id="line-98"></span>
-<span class="source-line-no">099</span><span id="line-99"> if (throttle.hasWriteNum()) {</span>
-<span class="source-line-no">100</span><span id="line-100"> setFromTimedQuota(limiter.writeReqsLimiter, throttle.getWriteNum());</span>
-<span class="source-line-no">101</span><span id="line-101"> isBypass = false;</span>
-<span class="source-line-no">102</span><span id="line-102"> }</span>
-<span class="source-line-no">103</span><span id="line-103"></span>
-<span class="source-line-no">104</span><span id="line-104"> if (throttle.hasWriteSize()) {</span>
-<span class="source-line-no">105</span><span id="line-105"> setFromTimedQuota(limiter.writeSizeLimiter, throttle.getWriteSize());</span>
+<span class="source-line-no">049</span><span id="line-49"> String limiterClassName =</span>
+<span class="source-line-no">050</span><span id="line-50"> conf.getClass(RateLimiter.QUOTA_RATE_LIMITER_CONF_KEY, AverageIntervalRateLimiter.class)</span>
+<span class="source-line-no">051</span><span id="line-51"> .getName();</span>
+<span class="source-line-no">052</span><span id="line-52"> if (FixedIntervalRateLimiter.class.getName().equals(limiterClassName)) {</span>
+<span class="source-line-no">053</span><span id="line-53"> long refillInterval = conf.getLong(FixedIntervalRateLimiter.RATE_LIMITER_REFILL_INTERVAL_MS,</span>
+<span class="source-line-no">054</span><span id="line-54"> RateLimiter.DEFAULT_TIME_UNIT);</span>
+<span class="source-line-no">055</span><span id="line-55"> reqsLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">056</span><span id="line-56"> reqSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">057</span><span id="line-57"> writeReqsLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">058</span><span id="line-58"> writeSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">059</span><span id="line-59"> readReqsLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">060</span><span id="line-60"> readSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">061</span><span id="line-61"> reqCapacityUnitLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">062</span><span id="line-62"> writeCapacityUnitLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">063</span><span id="line-63"> readCapacityUnitLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">064</span><span id="line-64"> atomicReqLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">065</span><span id="line-65"> atomicReadSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">066</span><span id="line-66"> atomicWriteSizeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">067</span><span id="line-67"> reqHandlerUsageTimeLimiter = new FixedIntervalRateLimiter(refillInterval);</span>
+<span class="source-line-no">068</span><span id="line-68"> } else if (FeedbackAdaptiveRateLimiter.class.getName().equals(limiterClassName)) {</span>
+<span class="source-line-no">069</span><span id="line-69"> FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory feedbackLimiterFactory =</span>
+<span class="source-line-no">070</span><span id="line-70"> new FeedbackAdaptiveRateLimiter.FeedbackAdaptiveRateLimiterFactory(conf);</span>
+<span class="source-line-no">071</span><span id="line-71"> reqsLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">072</span><span id="line-72"> reqSizeLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">073</span><span id="line-73"> writeReqsLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">074</span><span id="line-74"> writeSizeLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">075</span><span id="line-75"> readReqsLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">076</span><span id="line-76"> readSizeLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">077</span><span id="line-77"> reqCapacityUnitLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">078</span><span id="line-78"> writeCapacityUnitLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">079</span><span id="line-79"> readCapacityUnitLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">080</span><span id="line-80"> atomicReqLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">081</span><span id="line-81"> atomicReadSizeLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">082</span><span id="line-82"> atomicWriteSizeLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">083</span><span id="line-83"> reqHandlerUsageTimeLimiter = feedbackLimiterFactory.create();</span>
+<span class="source-line-no">084</span><span id="line-84"> } else {</span>
+<span class="source-line-no">085</span><span id="line-85"> reqsLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">086</span><span id="line-86"> reqSizeLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">087</span><span id="line-87"> writeReqsLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">088</span><span id="line-88"> writeSizeLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">089</span><span id="line-89"> readReqsLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">090</span><span id="line-90"> readSizeLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">091</span><span id="line-91"> reqCapacityUnitLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">092</span><span id="line-92"> writeCapacityUnitLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">093</span><span id="line-93"> readCapacityUnitLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">094</span><span id="line-94"> atomicReqLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">095</span><span id="line-95"> atomicReadSizeLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">096</span><span id="line-96"> atomicWriteSizeLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">097</span><span id="line-97"> reqHandlerUsageTimeLimiter = new AverageIntervalRateLimiter();</span>
+<span class="source-line-no">098</span><span id="line-98"> }</span>
+<span class="source-line-no">099</span><span id="line-99"> }</span>
+<span class="source-line-no">100</span><span id="line-100"></span>
+<span class="source-line-no">101</span><span id="line-101"> static QuotaLimiter fromThrottle(Configuration conf, final Throttle throttle) {</span>
+<span class="source-line-no">102</span><span id="line-102"> TimeBasedLimiter limiter = new TimeBasedLimiter(conf);</span>
+<span class="source-line-no">103</span><span id="line-103"> boolean isBypass = true;</span>
+<span class="source-line-no">104</span><span id="line-104"> if (throttle.hasReqNum()) {</span>
+<span class="source-line-no">105</span><span id="line-105"> setFromTimedQuota(limiter.reqsLimiter, throttle.getReqNum());</span>
<span class="source-line-no">106</span><span id="line-106"> isBypass = false;</span>
<span class="source-line-no">107</span><span id="line-107"> }</span>
<span class="source-line-no">108</span><span id="line-108"></span>
-<span class="source-line-no">109</span><span id="line-109"> if (throttle.hasReadNum()) {</span>
-<span class="source-line-no">110</span><span id="line-110"> setFromTimedQuota(limiter.readReqsLimiter, throttle.getReadNum());</span>
+<span class="source-line-no">109</span><span id="line-109"> if (throttle.hasReqSize()) {</span>
+<span class="source-line-no">110</span><span id="line-110"> setFromTimedQuota(limiter.reqSizeLimiter, throttle.getReqSize());</span>
<span class="source-line-no">111</span><span id="line-111"> isBypass = false;</span>
<span class="source-line-no">112</span><span id="line-112"> }</span>
<span class="source-line-no">113</span><span id="line-113"></span>
-<span class="source-line-no">114</span><span id="line-114"> if (throttle.hasReadSize()) {</span>
-<span class="source-line-no">115</span><span id="line-115"> setFromTimedQuota(limiter.readSizeLimiter, throttle.getReadSize());</span>
+<span class="source-line-no">114</span><span id="line-114"> if (throttle.hasWriteNum()) {</span>
+<span class="source-line-no">115</span><span id="line-115"> setFromTimedQuota(limiter.writeReqsLimiter, throttle.getWriteNum());</span>
<span class="source-line-no">116</span><span id="line-116"> isBypass = false;</span>
<span class="source-line-no">117</span><span id="line-117"> }</span>
<span class="source-line-no">118</span><span id="line-118"></span>
-<span class="source-line-no">119</span><span id="line-119"> if (throttle.hasReqCapacityUnit()) {</span>
-<span class="source-line-no">120</span><span id="line-120"> setFromTimedQuota(limiter.reqCapacityUnitLimiter, throttle.getReqCapacityUnit());</span>
+<span class="source-line-no">119</span><span id="line-119"> if (throttle.hasWriteSize()) {</span>
+<span class="source-line-no">120</span><span id="line-120"> setFromTimedQuota(limiter.writeSizeLimiter, throttle.getWriteSize());</span>
<span class="source-line-no">121</span><span id="line-121"> isBypass = false;</span>
<span class="source-line-no">122</span><span id="line-122"> }</span>
<span class="source-line-no">123</span><span id="line-123"></span>
-<span class="source-line-no">124</span><span id="line-124"> if (throttle.hasWriteCapacityUnit()) {</span>
-<span class="source-line-no">125</span><span id="line-125"> setFromTimedQuota(limiter.writeCapacityUnitLimiter, throttle.getWriteCapacityUnit());</span>
+<span class="source-line-no">124</span><span id="line-124"> if (throttle.hasReadNum()) {</span>
+<span class="source-line-no">125</span><span id="line-125"> setFromTimedQuota(limiter.readReqsLimiter, throttle.getReadNum());</span>
<span class="source-line-no">126</span><span id="line-126"> isBypass = false;</span>
<span class="source-line-no">127</span><span id="line-127"> }</span>
<span class="source-line-no">128</span><span id="line-128"></span>
-<span class="source-line-no">129</span><span id="line-129"> if (throttle.hasReadCapacityUnit()) {</span>
-<span class="source-line-no">130</span><span id="line-130"> setFromTimedQuota(limiter.readCapacityUnitLimiter, throttle.getReadCapacityUnit());</span>
+<span class="source-line-no">129</span><span id="line-129"> if (throttle.hasReadSize()) {</span>
+<span class="source-line-no">130</span><span id="line-130"> setFromTimedQuota(limiter.readSizeLimiter, throttle.getReadSize());</span>
<span class="source-line-no">131</span><span id="line-131"> isBypass = false;</span>
<span class="source-line-no">132</span><span id="line-132"> }</span>
<span class="source-line-no">133</span><span id="line-133"></span>
-<span class="source-line-no">134</span><span id="line-134"> if (throttle.hasAtomicReqNum()) {</span>
-<span class="source-line-no">135</span><span id="line-135"> setFromTimedQuota(limiter.atomicReqLimiter, throttle.getAtomicReqNum());</span>
+<span class="source-line-no">134</span><span id="line-134"> if (throttle.hasReqCapacityUnit()) {</span>
+<span class="source-line-no">135</span><span id="line-135"> setFromTimedQuota(limiter.reqCapacityUnitLimiter, throttle.getReqCapacityUnit());</span>
<span class="source-line-no">136</span><span id="line-136"> isBypass = false;</span>
<span class="source-line-no">137</span><span id="line-137"> }</span>
<span class="source-line-no">138</span><span id="line-138"></span>
-<span class="source-line-no">139</span><span id="line-139"> if (throttle.hasAtomicReadSize()) {</span>
-<span class="source-line-no">140</span><span id="line-140"> setFromTimedQuota(limiter.atomicReadSizeLimiter, throttle.getAtomicReadSize());</span>
+<span class="source-line-no">139</span><span id="line-139"> if (throttle.hasWriteCapacityUnit()) {</span>
+<span class="source-line-no">140</span><span id="line-140"> setFromTimedQuota(limiter.writeCapacityUnitLimiter, throttle.getWriteCapacityUnit());</span>
<span class="source-line-no">141</span><span id="line-141"> isBypass = false;</span>
<span class="source-line-no">142</span><span id="line-142"> }</span>
<span class="source-line-no">143</span><span id="line-143"></span>
-<span class="source-line-no">144</span><span id="line-144"> if (throttle.hasAtomicWriteSize()) {</span>
-<span class="source-line-no">145</span><span id="line-145"> setFromTimedQuota(limiter.atomicWriteSizeLimiter, throttle.getAtomicWriteSize());</span>
+<span class="source-line-no">144</span><span id="line-144"> if (throttle.hasReadCapacityUnit()) {</span>
+<span class="source-line-no">145</span><span id="line-145"> setFromTimedQuota(limiter.readCapacityUnitLimiter, throttle.getReadCapacityUnit());</span>
<span class="source-line-no">146</span><span id="line-146"> isBypass = false;</span>
<span class="source-line-no">147</span><span id="line-147"> }</span>
<span class="source-line-no">148</span><span id="line-148"></span>
-<span class="source-line-no">149</span><span id="line-149"> if (throttle.hasReqHandlerUsageMs()) {</span>
-<span class="source-line-no">150</span><span id="line-150"> setFromTimedQuota(limiter.reqHandlerUsageTimeLimiter, throttle.getReqHandlerUsageMs());</span>
+<span class="source-line-no">149</span><span id="line-149"> if (throttle.hasAtomicReqNum()) {</span>
+<span class="source-line-no">150</span><span id="line-150"> setFromTimedQuota(limiter.atomicReqLimiter, throttle.getAtomicReqNum());</span>
<span class="source-line-no">151</span><span id="line-151"> isBypass = false;</span>
<span class="source-line-no">152</span><span id="line-152"> }</span>
<span class="source-line-no">153</span><span id="line-153"></span>
-<span class="source-line-no">154</span><span id="line-154"> return isBypass ? NoopQuotaLimiter.get() : limiter;</span>
-<span class="source-line-no">155</span><span id="line-155"> }</span>
-<span class="source-line-no">156</span><span id="line-156"></span>
-<span class="source-line-no">157</span><span id="line-157"> public void update(final TimeBasedLimiter other) {</span>
-<span class="source-line-no">158</span><span id="line-158"> reqsLimiter.update(other.reqsLimiter);</span>
-<span class="source-line-no">159</span><span id="line-159"> reqSizeLimiter.update(other.reqSizeLimiter);</span>
-<span class="source-line-no">160</span><span id="line-160"> writeReqsLimiter.update(other.writeReqsLimiter);</span>
-<span class="source-line-no">161</span><span id="line-161"> writeSizeLimiter.update(other.writeSizeLimiter);</span>
-<span class="source-line-no">162</span><span id="line-162"> readReqsLimiter.update(other.readReqsLimiter);</span>
-<span class="source-line-no">163</span><span id="line-163"> readSizeLimiter.update(other.readSizeLimiter);</span>
-<span class="source-line-no">164</span><span id="line-164"> reqCapacityUnitLimiter.update(other.reqCapacityUnitLimiter);</span>
-<span class="source-line-no">165</span><span id="line-165"> writeCapacityUnitLimiter.update(other.writeCapacityUnitLimiter);</span>
-<span class="source-line-no">166</span><span id="line-166"> readCapacityUnitLimiter.update(other.readCapacityUnitLimiter);</span>
-<span class="source-line-no">167</span><span id="line-167"> atomicReqLimiter.update(other.atomicReqLimiter);</span>
-<span class="source-line-no">168</span><span id="line-168"> atomicReadSizeLimiter.update(other.atomicReadSizeLimiter);</span>
-<span class="source-line-no">169</span><span id="line-169"> atomicWriteSizeLimiter.update(other.atomicWriteSizeLimiter);</span>
-<span class="source-line-no">170</span><span id="line-170"> reqHandlerUsageTimeLimiter.update(other.reqHandlerUsageTimeLimiter);</span>
-<span class="source-line-no">171</span><span id="line-171"> }</span>
-<span class="source-line-no">172</span><span id="line-172"></span>
-<span class="source-line-no">173</span><span id="line-173"> private static void setFromTimedQuota(final RateLimiter limiter, final TimedQuota timedQuota) {</span>
-<span class="source-line-no">174</span><span id="line-174"> limiter.set(timedQuota.getSoftLimit(), ProtobufUtil.toTimeUnit(timedQuota.getTimeUnit()));</span>
-<span class="source-line-no">175</span><span id="line-175"> }</span>
-<span class="source-line-no">176</span><span id="line-176"></span>
-<span class="source-line-no">177</span><span id="line-177"> @Override</span>
-<span class="source-line-no">178</span><span id="line-178"> public void checkQuota(long writeReqs, long estimateWriteSize, long readReqs,</span>
-<span class="source-line-no">179</span><span id="line-179"> long estimateReadSize, long estimateWriteCapacityUnit, long estimateReadCapacityUnit,</span>
-<span class="source-line-no">180</span><span id="line-180"> boolean isAtomic, long estimatedReqHandlerUsageTimeMs) throws RpcThrottlingException {</span>
-<span class="source-line-no">181</span><span id="line-181"> long waitInterval = reqsLimiter.getWaitIntervalMs(writeReqs + readReqs);</span>
-<span class="source-line-no">182</span><span id="line-182"> if (waitInterval > 0) {</span>
-<span class="source-line-no">183</span><span id="line-183"> RpcThrottlingException.throwNumRequestsExceeded(waitInterval);</span>
-<span class="source-line-no">184</span><span id="line-184"> }</span>
-<span class="source-line-no">185</span><span id="line-185"> waitInterval = reqSizeLimiter.getWaitIntervalMs(estimateWriteSize + estimateReadSize);</span>
-<span class="source-line-no">186</span><span id="line-186"> if (waitInterval > 0) {</span>
-<span class="source-line-no">187</span><span id="line-187"> RpcThrottlingException.throwRequestSizeExceeded(waitInterval);</span>
-<span class="source-line-no">188</span><span id="line-188"> }</span>
-<span class="source-line-no">189</span><span id="line-189"> waitInterval = reqCapacityUnitLimiter</span>
-<span class="source-line-no">190</span><span id="line-190"> .getWaitIntervalMs(estimateWriteCapacityUnit + estimateReadCapacityUnit);</span>
-<span class="source-line-no">191</span><span id="line-191"> if (waitInterval > 0) {</span>
-<span class="source-line-no">192</span><span id="line-192"> RpcThrottlingException.throwRequestCapacityUnitExceeded(waitInterval);</span>
-<span class="source-line-no">193</span><span id="line-193"> }</span>
-<span class="source-line-no">194</span><span id="line-194"> if (isAtomic) {</span>
-<span class="source-line-no">195</span><span id="line-195"> waitInterval = atomicReqLimiter.getWaitIntervalMs(writeReqs + readReqs);</span>
-<span class="source-line-no">196</span><span id="line-196"> if (waitInterval > 0) {</span>
-<span class="source-line-no">197</span><span id="line-197"> RpcThrottlingException.throwAtomicRequestNumberExceeded(waitInterval);</span>
-<span class="source-line-no">198</span><span id="line-198"> }</span>
+<span class="source-line-no">154</span><span id="line-154"> if (throttle.hasAtomicReadSize()) {</span>
+<span class="source-line-no">155</span><span id="line-155"> setFromTimedQuota(limiter.atomicReadSizeLimiter, throttle.getAtomicReadSize());</span>
+<span class="source-line-no">156</span><span id="line-156"> isBypass = false;</span>
+<span class="source-line-no">157</span><span id="line-157"> }</span>
+<span class="source-line-no">158</span><span id="line-158"></span>
+<span class="source-line-no">159</span><span id="line-159"> if (throttle.hasAtomicWriteSize()) {</span>
+<span class="source-line-no">160</span><span id="line-160"> setFromTimedQuota(limiter.atomicWriteSizeLimiter, throttle.getAtomicWriteSize());</span>
+<span class="source-line-no">161</span><span id="line-161"> isBypass = false;</span>
+<span class="source-line-no">162</span><span id="line-162"> }</span>
+<span class="source-line-no">163</span><span id="line-163"></span>
+<span class="source-line-no">164</span><span id="line-164"> if (throttle.hasReqHandlerUsageMs()) {</span>
+<span class="source-line-no">165</span><span id="line-165"> setFromTimedQuota(limiter.reqHandlerUsageTimeLimiter, throttle.getReqHandlerUsageMs());</span>
+<span class="source-line-no">166</span><span id="line-166"> isBypass = false;</span>
+<span class="source-line-no">167</span><span id="line-167"> }</span>
+<span class="source-line-no">168</span><span id="line-168"></span>
+<span class="source-line-no">169</span><span id="line-169"> return isBypass ? NoopQuotaLimiter.get() : limiter;</span>
+<span class="source-line-no">170</span><span id="line-170"> }</span>
+<span class="source-line-no">171</span><span id="line-171"></span>
+<span class="source-line-no">172</span><span id="line-172"> public void update(final TimeBasedLimiter other) {</span>
+<span class="source-line-no">173</span><span id="line-173"> reqsLimiter.update(other.reqsLimiter);</span>
+<span class="source-line-no">174</span><span id="line-174"> reqSizeLimiter.update(other.reqSizeLimiter);</span>
+<span class="source-line-no">175</span><span id="line-175"> writeReqsLimiter.update(other.writeReqsLimiter);</span>
+<span class="source-line-no">176</span><span id="line-176"> writeSizeLimiter.update(other.writeSizeLimiter);</span>
+<span class="source-line-no">177</span><span id="line-177"> readReqsLimiter.update(other.readReqsLimiter);</span>
+<span class="source-line-no">178</span><span id="line-178"> readSizeLimiter.update(other.readSizeLimiter);</span>
+<span class="source-line-no">179</span><span id="line-179"> reqCapacityUnitLimiter.update(other.reqCapacityUnitLimiter);</span>
+<span class="source-line-no">180</span><span id="line-180"> writeCapacityUnitLimiter.update(other.writeCapacityUnitLimiter);</span>
+<span class="source-line-no">181</span><span id="line-181"> readCapacityUnitLimiter.update(other.readCapacityUnitLimiter);</span>
+<span class="source-line-no">182</span><span id="line-182"> atomicReqLimiter.update(other.atomicReqLimiter);</span>
+<span class="source-line-no">183</span><span id="line-183"> atomicReadSizeLimiter.update(other.atomicReadSizeLimiter);</span>
+<span class="source-line-no">184</span><span id="line-184"> atomicWriteSizeLimiter.update(other.atomicWriteSizeLimiter);</span>
+<span class="source-line-no">185</span><span id="line-185"> reqHandlerUsageTimeLimiter.update(other.reqHandlerUsageTimeLimiter);</span>
+<span class="source-line-no">186</span><span id="line-186"> }</span>
+<span class="source-line-no">187</span><span id="line-187"></span>
+<span class="source-line-no">188</span><span id="line-188"> private static void setFromTimedQuota(final RateLimiter limiter, final TimedQuota timedQuota) {</span>
+<span class="source-line-no">189</span><span id="line-189"> limiter.set(timedQuota.getSoftLimit(), ProtobufUtil.toTimeUnit(timedQuota.getTimeUnit()));</span>
+<span class="source-line-no">190</span><span id="line-190"> }</span>
+<span class="source-line-no">191</span><span id="line-191"></span>
+<span class="source-line-no">192</span><span id="line-192"> @Override</span>
+<span class="source-line-no">193</span><span id="line-193"> public void checkQuota(long writeReqs, long estimateWriteSize, long readReqs,</span>
+<span class="source-line-no">194</span><span id="line-194"> long estimateReadSize, long estimateWriteCapacityUnit, long estimateReadCapacityUnit,</span>
+<span class="source-line-no">195</span><span id="line-195"> boolean isAtomic, long estimatedReqHandlerUsageTimeMs) throws RpcThrottlingException {</span>
+<span class="source-line-no">196</span><span id="line-196"> long waitInterval = reqsLimiter.getWaitIntervalMs(writeReqs + readReqs);</span>
+<span class="source-line-no">197</span><span id="line-197"> if (waitInterval > 0) {</span>
+<span class="source-line-no">198</span><span id="line-198"> RpcThrottlingException.throwNumRequestsExceeded(waitInterval);</span>
<span class="source-line-no">199</span><span id="line-199"> }</span>
-<span class="source-line-no">200</span><span id="line-200"></span>
-<span class="source-line-no">201</span><span id="line-201"> if (estimateWriteSize > 0) {</span>
-<span class="source-line-no">202</span><span id="line-202"> waitInterval = writeReqsLimiter.getWaitIntervalMs(writeReqs);</span>
-<span class="source-line-no">203</span><span id="line-203"> if (waitInterval > 0) {</span>
-<span class="source-line-no">204</span><span id="line-204"> RpcThrottlingException.throwNumWriteRequestsExceeded(waitInterval);</span>
-<span class="source-line-no">205</span><span id="line-205"> }</span>
-<span class="source-line-no">206</span><span id="line-206"> waitInterval = writeSizeLimiter.getWaitIntervalMs(estimateWriteSize);</span>
-<span class="source-line-no">207</span><span id="line-207"> if (waitInterval > 0) {</span>
-<span class="source-line-no">208</span><span id="line-208"> RpcThrottlingException.throwWriteSizeExceeded(waitInterval);</span>
-<span class="source-line-no">209</span><span id="line-209"> }</span>
-<span class="source-line-no">210</span><span id="line-210"> waitInterval = writeCapacityUnitLimiter.getWaitIntervalMs(estimateWriteCapacityUnit);</span>
+<span class="source-line-no">200</span><span id="line-200"> waitInterval = reqSizeLimiter.getWaitIntervalMs(estimateWriteSize + estimateReadSize);</span>
+<span class="source-line-no">201</span><span id="line-201"> if (waitInterval > 0) {</span>
+<span class="source-line-no">202</span><span id="line-202"> RpcThrottlingException.throwRequestSizeExceeded(waitInterval);</span>
+<span class="source-line-no">203</span><span id="line-203"> }</span>
+<span class="source-line-no">204</span><span id="line-204"> waitInterval = reqCapacityUnitLimiter</span>
+<span class="source-line-no">205</span><span id="line-205"> .getWaitIntervalMs(estimateWriteCapacityUnit + estimateReadCapacityUnit);</span>
+<span class="source-line-no">206</span><span id="line-206"> if (waitInterval > 0) {</span>
+<span class="source-line-no">207</span><span id="line-207"> RpcThrottlingException.throwRequestCapacityUnitExceeded(waitInterval);</span>
+<span class="source-line-no">208</span><span id="line-208"> }</span>
+<span class="source-line-no">209</span><span id="line-209"> if (isAtomic) {</span>
+<span class="source-line-no">210</span><span id="line-210"> waitInterval = atomicReqLimiter.getWaitIntervalMs(writeReqs + readReqs);</span>
<span class="source-line-no">211</span><span id="line-211"> if (waitInterval > 0) {</span>
-<span class="source-line-no">212</span><span id="line-212"> RpcThrottlingException.throwWriteCapacityUnitExceeded(waitInterval);</span>
+<span class="source-line-no">212</span><span id="line-212"> RpcThrottlingException.throwAtomicRequestNumberExceeded(waitInterval);</span>
<span class="source-line-no">213</span><span id="line-213"> }</span>
-<span class="source-line-no">214</span><span id="line-214"> if (isAtomic) {</span>
-<span class="source-line-no">215</span><span id="line-215"> waitInterval = atomicWriteSizeLimiter.getWaitIntervalMs(writeReqs);</span>
-<span class="source-line-no">216</span><span id="line-216"> if (waitInterval > 0) {</span>
-<span class="source-line-no">217</span><span id="line-217"> RpcThrottlingException.throwAtomicWriteSizeExceeded(waitInterval);</span>
-<span class="source-line-no">218</span><span id="line-218"> }</span>
-<span class="source-line-no">219</span><span id="line-219"> }</span>
-<span class="source-line-no">220</span><span id="line-220"> }</span>
-<span class="source-line-no">221</span><span id="line-221"></span>
-<span class="source-line-no">222</span><span id="line-222"> if (estimateReadSize > 0) {</span>
-<span class="source-line-no">223</span><span id="line-223"> waitInterval = readReqsLimiter.getWaitIntervalMs(readReqs);</span>
-<span class="source-line-no">224</span><span id="line-224"> if (waitInterval > 0) {</span>
-<span class="source-line-no">225</span><span id="line-225"> RpcThrottlingException.throwNumReadRequestsExceeded(waitInterval);</span>
-<span class="source-line-no">226</span><span id="line-226"> }</span>
-<span class="source-line-no">227</span><span id="line-227"> waitInterval = readSizeLimiter.getWaitIntervalMs(estimateReadSize);</span>
-<span class="source-line-no">228</span><span id="line-228"> if (waitInterval > 0) {</span>
-<span class="source-line-no">229</span><span id="line-229"> RpcThrottlingException.throwReadSizeExceeded(waitInterval);</span>
-<span class="source-line-no">230</span><span id="line-230"> }</span>
-<span class="source-line-no">231</span><span id="line-231"> waitInterval = readCapacityUnitLimiter.getWaitIntervalMs(estimateReadCapacityUnit);</span>
-<span class="source-line-no">232</span><span id="line-232"> if (waitInterval > 0) {</span>
-<span class="source-line-no">233</span><span id="line-233"> RpcThrottlingException.throwReadCapacityUnitExceeded(waitInterval);</span>
+<span class="source-line-no">214</span><span id="line-214"> }</span>
+<span class="source-line-no">215</span><span id="line-215"></span>
+<span class="source-line-no">216</span><span id="line-216"> if (estimateWriteSize > 0) {</span>
+<span class="source-line-no">217</span><span id="line-217"> waitInterval = writeReqsLimiter.getWaitIntervalMs(writeReqs);</span>
+<span class="source-line-no">218</span><span id="line-218"> if (waitInterval > 0) {</span>
+<span class="source-line-no">219</span><span id="line-219"> RpcThrottlingException.throwNumWriteRequestsExceeded(waitInterval);</span>
+<span class="source-line-no">220</span><span id="line-220"> }</span>
+<span class="source-line-no">221</span><span id="line-221"> waitInterval = writeSizeLimiter.getWaitIntervalMs(estimateWriteSize);</span>
+<span class="source-line-no">222</span><span id="line-222"> if (waitInterval > 0) {</span>
+<span class="source-line-no">223</span><span id="line-223"> RpcThrottlingException.throwWriteSizeExceeded(waitInterval);</span>
+<span class="source-line-no">224</span><span id="line-224"> }</span>
+<span class="source-line-no">225</span><span id="line-225"> waitInterval = writeCapacityUnitLimiter.getWaitIntervalMs(estimateWriteCapacityUnit);</span>
+<span class="source-line-no">226</span><span id="line-226"> if (waitInterval > 0) {</span>
+<span class="source-line-no">227</span><span id="line-227"> RpcThrottlingException.throwWriteCapacityUnitExceeded(waitInterval);</span>
+<span class="source-line-no">228</span><span id="line-228"> }</span>
+<span class="source-line-no">229</span><span id="line-229"> if (isAtomic) {</span>
+<span class="source-line-no">230</span><span id="line-230"> waitInterval = atomicWriteSizeLimiter.getWaitIntervalMs(writeReqs);</span>
+<span class="source-line-no">231</span><span id="line-231"> if (waitInterval > 0) {</span>
+<span class="source-line-no">232</span><span id="line-232"> RpcThrottlingException.throwAtomicWriteSizeExceeded(waitInterval);</span>
+<span class="source-line-no">233</span><span id="line-233"> }</span>
<span class="source-line-no">234</span><span id="line-234"> }</span>
-<span class="source-line-no">235</span><span id="line-235"> if (isAtomic) {</span>
-<span class="source-line-no">236</span><span id="line-236"> waitInterval = atomicReadSizeLimiter.getWaitIntervalMs(writeReqs + readReqs);</span>
-<span class="source-line-no">237</span><span id="line-237"> if (waitInterval > 0) {</span>
-<span class="source-line-no">238</span><span id="line-238"> RpcThrottlingException.throwAtomicReadSizeExceeded(waitInterval);</span>
-<span class="source-line-no">239</span><span id="line-239"> }</span>
-<span class="source-line-no">240</span><span id="line-240"> }</span>
-<span class="source-line-no">241</span><span id="line-241"> }</span>
-<span class="source-line-no">242</span><span id="line-242"> waitInterval = reqHandlerUsageTimeLimiter.getWaitIntervalMs(estimatedReqHandlerUsageTimeMs);</span>
-<span class="source-line-no">243</span><span id="line-243"> if (waitInterval > 0) {</span>
-<span class="source-line-no">244</span><span id="line-244"> RpcThrottlingException.throwRequestHandlerUsageTimeExceeded(waitInterval);</span>
-<span class="source-line-no">245</span><span id="line-245"> }</span>
-<span class="source-line-no">246</span><span id="line-246"> }</span>
-<span class="source-line-no">247</span><span id="line-247"></span>
-<span class="source-line-no">248</span><span id="line-248"> @Override</span>
-<span class="source-line-no">249</span><span id="line-249"> public void grabQuota(long writeReqs, long writeSize, long readReqs, long readSize,</span>
-<span class="source-line-no">250</span><span id="line-250"> long writeCapacityUnit, long readCapacityUnit, boolean isAtomic,</span>
-<span class="source-line-no">251</span><span id="line-251"> long estimateHandlerThreadUsageMs) {</span>
-<span class="source-line-no">252</span><span id="line-252"> assert writeSize != 0 || readSize != 0;</span>
-<span class="source-line-no">253</span><span id="line-253"></span>
-<span class="source-line-no">254</span><span id="line-254"> reqsLimiter.consume(writeReqs + readReqs);</span>
-<span class="source-line-no">255</span><span id="line-255"> reqSizeLimiter.consume(writeSize + readSize);</span>
-<span class="source-line-no">256</span><span id="line-256"></span>
-<span class="source-line-no">257</span><span id="line-257"> if (writeSize > 0) {</span>
-<span class="source-line-no">258</span><span id="line-258"> writeReqsLimiter.consume(writeReqs);</span>
-<span class="source-line-no">259</span><span id="line-259"> writeSizeLimiter.consume(writeSize);</span>
+<span class="source-line-no">235</span><span id="line-235"> }</span>
+<span class="source-line-no">236</span><span id="line-236"></span>
+<span class="source-line-no">237</span><span id="line-237"> if (estimateReadSize > 0) {</span>
+<span class="source-line-no">238</span><span id="line-238"> waitInterval = readReqsLimiter.getWaitIntervalMs(readReqs);</span>
+<span class="source-line-no">239</span><span id="line-239"> if (waitInterval > 0) {</span>
+<span class="source-line-no">240</span><span id="line-240"> RpcThrottlingException.throwNumReadRequestsExceeded(waitInterval);</span>
+<span class="source-line-no">241</span><span id="line-241"> }</span>
+<span class="source-line-no">242</span><span id="line-242"> waitInterval = readSizeLimiter.getWaitIntervalMs(estimateReadSize);</span>
+<span class="source-line-no">243</span><span id="line-243"> if (waitInterval > 0) {</span>
+<span class="source-line-no">244</span><span id="line-244"> RpcThrottlingException.throwReadSizeExceeded(waitInterval);</span>
+<span class="source-line-no">245</span><span id="line-245"> }</span>
+<span class="source-line-no">246</span><span id="line-246"> waitInterval = readCapacityUnitLimiter.getWaitIntervalMs(estimateReadCapacityUnit);</span>
+<span class="source-line-no">247</span><span id="line-247"> if (waitInterval > 0) {</span>
+<span class="source-line-no">248</span><span id="line-248"> RpcThrottlingException.throwReadCapacityUnitExceeded(waitInterval);</span>
+<span class="source-line-no">249</span><span id="line-249"> }</span>
+<span class="source-line-no">250</span><span id="line-250"> if (isAtomic) {</span>
+<span class="source-line-no">251</span><span id="line-251"> waitInterval = atomicReadSizeLimiter.getWaitIntervalMs(writeReqs + readReqs);</span>
+<span class="source-line-no">252</span><span id="line-252"> if (waitInterval > 0) {</span>
+<span class="source-line-no">253</span><span id="line-253"> RpcThrottlingException.throwAtomicReadSizeExceeded(waitInterval);</span>
+<span class="source-line-no">254</span><span id="line-254"> }</span>
+<span class="source-line-no">255</span><span id="line-255"> }</span>
+<span class="source-line-no">256</span><span id="line-256"> }</span>
+<span class="source-line-no">257</span><span id="line-257"> waitInterval = reqHandlerUsageTimeLimiter.getWaitIntervalMs(estimatedReqHandlerUsageTimeMs);</span>
+<span class="source-line-no">258</span><span id="line-258"> if (waitInterval > 0) {</span>
+<span class="source-line-no">259</span><span id="line-259"> RpcThrottlingException.throwRequestHandlerUsageTimeExceeded(waitInterval);</span>
<span class="source-line-no">260</span><span id="line-260"> }</span>
-<span class="source-line-no">261</span><span id="line-261"> if (readSize > 0) {</span>
-<span class="source-line-no">262</span><span id="line-262"> readReqsLimiter.consume(readReqs);</span>
-<span class="source-line-no">263</span><span id="line-263"> readSizeLimiter.consume(readSize);</span>
-<span class="source-line-no">264</span><span id="line-264"> }</span>
-<span class="source-line-no">265</span><span id="line-265"> if (writeCapacityUnit > 0) {</span>
-<span class="source-line-no">266</span><span id="line-266"> reqCapacityUnitLimiter.consume(writeCapacityUnit);</span>
-<span class="source-line-no">267</span><span id="line-267"> writeCapacityUnitLimiter.consume(writeCapacityUnit);</span>
-<span class="source-line-no">268</span><span id="line-268"> }</span>
-<span class="source-line-no">269</span><span id="line-269"> if (readCapacityUnit > 0) {</span>
-<span class="source-line-no">270</span><span id="line-270"> reqCapacityUnitLimiter.consume(readCapacityUnit);</span>
-<span class="source-line-no">271</span><span id="line-271"> readCapacityUnitLimiter.consume(readCapacityUnit);</span>
-<span class="source-line-no">272</span><span id="line-272"> }</span>
-<span class="source-line-no">273</span><span id="line-273"> if (isAtomic) {</span>
-<span class="source-line-no">274</span><span id="line-274"> atomicReqLimiter.consume(writeReqs + readReqs);</span>
-<span class="source-line-no">275</span><span id="line-275"> if (readSize > 0) {</span>
-<span class="source-line-no">276</span><span id="line-276"> atomicReadSizeLimiter.consume(readSize);</span>
-<span class="source-line-no">277</span><span id="line-277"> }</span>
-<span class="source-line-no">278</span><span id="line-278"> if (writeSize > 0) {</span>
-<span class="source-line-no">279</span><span id="line-279"> atomicWriteSizeLimiter.consume(writeSize);</span>
-<span class="source-line-no">280</span><span id="line-280"> }</span>
-<span class="source-line-no">281</span><span id="line-281"> }</span>
-<span class="source-line-no">282</span><span id="line-282"> reqHandlerUsageTimeLimiter.consume(estimateHandlerThreadUsageMs);</span>
-<span class="source-line-no">283</span><span id="line-283"> }</span>
-<span class="source-line-no">284</span><span id="line-284"></span>
-<span class="source-line-no">285</span><span id="line-285"> @Override</span>
-<span class="source-line-no">286</span><span id="line-286"> public void consumeWrite(final long size, long capacityUnit, boolean isAtomic) {</span>
-<span class="source-line-no">287</span><span id="line-287"> reqSizeLimiter.consume(size);</span>
-<span class="source-line-no">288</span><span id="line-288"> writeSizeLimiter.consume(size);</span>
-<span class="source-line-no">289</span><span id="line-289"> reqCapacityUnitLimiter.consume(capacityUnit);</span>
-<span class="source-line-no">290</span><span id="line-290"> writeCapacityUnitLimiter.consume(capacityUnit);</span>
-<span class="source-line-no">291</span><span id="line-291"> if (isAtomic) {</span>
-<span class="source-line-no">292</span><span id="line-292"> atomicWriteSizeLimiter.consume(size);</span>
-<span class="source-line-no">293</span><span id="line-293"> }</span>
-<span class="source-line-no">294</span><span id="line-294"> }</span>
-<span class="source-line-no">295</span><span id="line-295"></span>
-<span class="source-line-no">296</span><span id="line-296"> @Override</span>
-<span class="source-line-no">297</span><span id="line-297"> public void consumeRead(final long size, long capacityUnit, boolean isAtomic) {</span>
-<span class="source-line-no">298</span><span id="line-298"> reqSizeLimiter.consume(size);</span>
-<span class="source-line-no">299</span><span id="line-299"> readSizeLimiter.consume(size);</span>
-<span class="source-line-no">300</span><span id="line-300"> reqCapacityUnitLimiter.consume(capacityUnit);</span>
-<span class="source-line-no">301</span><span id="line-301"> readCapacityUnitLimiter.consume(capacityUnit);</span>
-<span class="source-line-no">302</span><span id="line-302"> if (isAtomic) {</span>
-<span class="source-line-no">303</span><span id="line-303"> atomicReadSizeLimiter.consume(size);</span>
-<span class="source-line-no">304</span><span id="line-304"> }</span>
-<span class="source-line-no">305</span><span id="line-305"> }</span>
-<span class="source-line-no">306</span><span id="line-306"></span>
-<span class="source-line-no">307</span><span id="line-307"> @Override</span>
-<span class="source-line-no">308</span><span id="line-308"> public void consumeTime(final long handlerMillisUsed) {</span>
-<span class="source-line-no">309</span><span id="line-309"> reqHandlerUsageTimeLimiter.consume(handlerMillisUsed);</span>
-<span class="source-line-no">310</span><span id="line-310"> }</span>
-<span class="source-line-no">311</span><span id="line-311"></span>
-<span class="source-line-no">312</span><span id="line-312"> @Override</span>
-<span class="source-line-no">313</span><span id="line-313"> public boolean isBypass() {</span>
-<span class="source-line-no">314</span><span id="line-314"> return false;</span>
-<span class="source-line-no">315</span><span id="line-315"> }</span>
-<span class="source-line-no">316</span><span id="line-316"></span>
-<span class="source-line-no">317</span><span id="line-317"> @Override</span>
-<span class="source-line-no">318</span><span id="line-318"> public long getWriteAvailable() {</span>
-<span class="source-line-no">319</span><span id="line-319"> return writeSizeLimiter.getAvailable();</span>
+<span class="source-line-no">261</span><span id="line-261"> }</span>
+<span class="source-line-no">262</span><span id="line-262"></span>
+<span class="source-line-no">263</span><span id="line-263"> @Override</span>
+<span class="source-line-no">264</span><span id="line-264"> public void grabQuota(long writeReqs, long writeSize, long readReqs, long readSize,</span>
+<span class="source-line-no">265</span><span id="line-265"> long writeCapacityUnit, long readCapacityUnit, boolean isAtomic,</span>
+<span class="source-line-no">266</span><span id="line-266"> long estimateHandlerThreadUsageMs) {</span>
+<span class="source-line-no">267</span><span id="line-267"> assert writeSize != 0 || readSize != 0;</span>
+<span class="source-line-no">268</span><span id="line-268"></span>
+<span class="source-line-no">269</span><span id="line-269"> reqsLimiter.consume(writeReqs + readReqs);</span>
+<span class="source-line-no">270</span><span id="line-270"> reqSizeLimiter.consume(writeSize + readSize);</span>
+<span class="source-line-no">271</span><span id="line-271"></span>
+<span class="source-line-no">272</span><span id="line-272"> if (writeSize > 0) {</span>
+<span class="source-line-no">273</span><span id="line-273"> writeReqsLimiter.consume(writeReqs);</span>
+<span class="source-line-no">274</span><span id="line-274"> writeSizeLimiter.consume(writeSize);</span>
+<span class="source-line-no">275</span><span id="line-275"> }</span>
+<span class="source-line-no">276</span><span id="line-276"> if (readSize > 0) {</span>
+<span class="source-line-no">277</span><span id="line-277"> readReqsLimiter.consume(readReqs);</span>
+<span class="source-line-no">278</span><span id="line-278"> readSizeLimiter.consume(readSize);</span>
+<span class="source-line-no">279</span><span id="line-279"> }</span>
+<span class="source-line-no">280</span><span id="line-280"> if (writeCapacityUnit > 0) {</span>
+<span class="source-line-no">281</span><span id="line-281"> reqCapacityUnitLimiter.consume(writeCapacityUnit);</span>
+<span class="source-line-no">282</span><span id="line-282"> writeCapacityUnitLimiter.consume(writeCapacityUnit);</span>
+<span class="source-line-no">283</span><span id="line-283"> }</span>
+<span class="source-line-no">284</span><span id="line-284"> if (readCapacityUnit > 0) {</span>
+<span class="source-line-no">285</span><span id="line-285"> reqCapacityUnitLimiter.consume(readCapacityUnit);</span>
+<span class="source-line-no">286</span><span id="line-286"> readCapacityUnitLimiter.consume(readCapacityUnit);</span>
+<span class="source-line-no">287</span><span id="line-287"> }</span>
+<span class="source-line-no">288</span><span id="line-288"> if (isAtomic) {</span>
+<span class="source-line-no">289</span><span id="line-289"> atomicReqLimiter.consume(writeReqs + readReqs);</span>
+<span class="source-line-no">290</span><span id="line-290"> if (readSize > 0) {</span>
+<span class="source-line-no">291</span><span id="line-291"> atomicReadSizeLimiter.consume(readSize);</span>
+<span class="source-line-no">292</span><span id="line-292"> }</span>
+<span class="source-line-no">293</span><span id="line-293"> if (writeSize > 0) {</span>
+<span class="source-line-no">294</span><span id="line-294"> atomicWriteSizeLimiter.consume(writeSize);</span>
+<span class="source-line-no">295</span><span id="line-295"> }</span>
+<span class="source-line-no">296</span><span id="line-296"> }</span>
+<span class="source-line-no">297</span><span id="line-297"> reqHandlerUsageTimeLimiter.consume(estimateHandlerThreadUsageMs);</span>
+<span class="source-line-no">298</span><span id="line-298"> }</span>
+<span class="source-line-no">299</span><span id="line-299"></span>
+<span class="source-line-no">300</span><span id="line-300"> @Override</span>
+<span class="source-line-no">301</span><span id="line-301"> public void consumeWrite(final long size, long capacityUnit, boolean isAtomic) {</span>
+<span class="source-line-no">302</span><span id="line-302"> reqSizeLimiter.consume(size);</span>
+<span class="source-line-no">303</span><span id="line-303"> writeSizeLimiter.consume(size);</span>
+<span class="source-line-no">304</span><span id="line-304"> reqCapacityUnitLimiter.consume(capacityUnit);</span>
+<span class="source-line-no">305</span><span id="line-305"> writeCapacityUnitLimiter.consume(capacityUnit);</span>
+<span class="source-line-no">306</span><span id="line-306"> if (isAtomic) {</span>
+<span class="source-line-no">307</span><span id="line-307"> atomicWriteSizeLimiter.consume(size);</span>
+<span class="source-line-no">308</span><span id="line-308"> }</span>
+<span class="source-line-no">309</span><span id="line-309"> }</span>
+<span class="source-line-no">310</span><span id="line-310"></span>
+<span class="source-line-no">311</span><span id="line-311"> @Override</span>
+<span class="source-line-no">312</span><span id="line-312"> public void consumeRead(final long size, long capacityUnit, boolean isAtomic) {</span>
+<span class="source-line-no">313</span><span id="line-313"> reqSizeLimiter.consume(size);</span>
+<span class="source-line-no">314</span><span id="line-314"> readSizeLimiter.consume(size);</span>
+<span class="source-line-no">315</span><span id="line-315"> reqCapacityUnitLimiter.consume(capacityUnit);</span>
+<span class="source-line-no">316</span><span id="line-316"> readCapacityUnitLimiter.consume(capacityUnit);</span>
+<span class="source-line-no">317</span><span id="line-317"> if (isAtomic) {</span>
+<span class="source-line-no">318</span><span id="line-318"> atomicReadSizeLimiter.consume(size);</span>
+<span class="source-line-no">319</span><span id="line-319"> }</span>
<span class="source-line-no">320</span><span id="line-320"> }</span>
<span class="source-line-no">321</span><span id="line-321"></span>
<span class="source-line-no">322</span><span id="line-322"> @Override</span>
-<span class="source-line-no">323</span><span id="line-323"> public long getRequestNumLimit() {</span>
-<span class="source-line-no">324</span><span id="line-324"> long readAndWriteLimit = readReqsLimiter.getLimit() + writeReqsLimiter.getLimit();</span>
-<span class="source-line-no">325</span><span id="line-325"></span>
-<span class="source-line-no">326</span><span id="line-326"> if (readAndWriteLimit < 0) { // handle overflow</span>
-<span class="source-line-no">327</span><span id="line-327"> readAndWriteLimit = Long.MAX_VALUE;</span>
-<span class="source-line-no">328</span><span id="line-328"> }</span>
-<span class="source-line-no">329</span><span id="line-329"></span>
-<span class="source-line-no">330</span><span id="line-330"> return Math.min(reqsLimiter.getLimit(), readAndWriteLimit);</span>
-<span class="source-line-no">331</span><span id="line-331"> }</span>
-<span class="source-line-no">332</span><span id="line-332"></span>
-<span class="source-line-no">333</span><span id="line-333"> @Override</span>
-<span class="source-line-no">334</span><span id="line-334"> public long getReadNumLimit() {</span>
-<span class="source-line-no">335</span><span id="line-335"> return readReqsLimiter.getLimit();</span>
-<span class="source-line-no">336</span><span id="line-336"> }</span>
-<span class="source-line-no">337</span><span id="line-337"></span>
-<span class="source-line-no">338</span><span id="line-338"> @Override</span>
-<span class="source-line-no">339</span><span id="line-339"> public long getWriteNumLimit() {</span>
-<span class="source-line-no">340</span><span id="line-340"> return writeReqsLimiter.getLimit();</span>
-<span class="source-line-no">341</span><span id="line-341"> }</span>
-<span class="source-line-no">342</span><span id="line-342"></span>
-<span class="source-line-no">343</span><span id="line-343"> @Override</span>
-<span class="source-line-no">344</span><span id="line-344"> public long getReadAvailable() {</span>
-<span class="source-line-no">345</span><span id="line-345"> return readSizeLimiter.getAvailable();</span>
+<span class="source-line-no">323</span><span id="line-323"> public void consumeTime(final long handlerMillisUsed) {</span>
+<span class="source-line-no">324</span><span id="line-324"> reqHandlerUsageTimeLimiter.consume(handlerMillisUsed);</span>
+<span class="source-line-no">325</span><span id="line-325"> }</span>
+<span class="source-line-no">326</span><span id="line-326"></span>
+<span class="source-line-no">327</span><span id="line-327"> @Override</span>
+<span class="source-line-no">328</span><span id="line-328"> public boolean isBypass() {</span>
+<span class="source-line-no">329</span><span id="line-329"> return false;</span>
+<span class="source-line-no">330</span><span id="line-330"> }</span>
+<span class="source-line-no">331</span><span id="line-331"></span>
+<span class="source-line-no">332</span><span id="line-332"> @Override</span>
+<span class="source-line-no">333</span><span id="line-333"> public long getWriteAvailable() {</span>
+<span class="source-line-no">334</span><span id="line-334"> return writeSizeLimiter.getAvailable();</span>
+<span class="source-line-no">335</span><span id="line-335"> }</span>
+<span class="source-line-no">336</span><span id="line-336"></span>
+<span class="source-line-no">337</span><span id="line-337"> @Override</span>
+<span class="source-line-no">338</span><span id="line-338"> public long getRequestNumLimit() {</span>
+<span class="source-line-no">339</span><span id="line-339"> long readAndWriteLimit = readReqsLimiter.getLimit() + writeReqsLimiter.getLimit();</span>
+<span class="source-line-no">340</span><span id="line-340"></span>
+<span class="source-line-no">341</span><span id="line-341"> if (readAndWriteLimit < 0) { // handle overflow</span>
+<span class="source-line-no">342</span><span id="line-342"> readAndWriteLimit = Long.MAX_VALUE;</span>
+<span class="source-line-no">343</span><span id="line-343"> }</span>
+<span class="source-line-no">344</span><span id="line-344"></span>
+<span class="source-line-no">345</span><span id="line-345"> return Math.min(reqsLimiter.getLimit(), readAndWriteLimit);</span>
<span class="source-line-no">346</span><span id="line-346"> }</span>
<span class="source-line-no">347</span><span id="line-347"></span>
<span class="source-line-no">348</span><span id="line-348"> @Override</span>
-<span class="source-line-no">349</span><span id="line-349"> public long getReadLimit() {</span>
-<span class="source-line-no">350</span><span id="line-350"> return Math.min(readSizeLimiter.getLimit(), reqSizeLimiter.getLimit());</span>
+<span class="source-line-no">349</span><span id="line-349"> public long getReadNumLimit() {</span>
+<span class="source-line-no">350</span><span id="line-350"> return readReqsLimiter.getLimit();</span>
<span class="source-line-no">351</span><span id="line-351"> }</span>
<span class="source-line-no">352</span><span id="line-352"></span>
<span class="source-line-no">353</span><span id="line-353"> @Override</span>
-<span class="source-line-no">354</span><span id="line-354"> public long getWriteLimit() {</span>
-<span class="source-line-no">355</span><span id="line-355"> return Math.min(writeSizeLimiter.getLimit(), reqSizeLimiter.getLimit());</span>
+<span class="source-line-no">354</span><span id="line-354"> public long getWriteNumLimit() {</span>
+<span class="source-line-no">355</span><span id="line-355"> return writeReqsLimiter.getLimit();</span>
<span class="source-line-no">356</span><span id="line-356"> }</span>
<span class="source-line-no">357</span><span id="line-357"></span>
<span class="source-line-no">358</span><span id="line-358"> @Override</span>
-<span class="source-line-no">359</span><span id="line-359"> public String toString() {</span>
-<span class="source-line-no">360</span><span id="line-360"> StringBuilder builder = new StringBuilder();</span>
-<span class="source-line-no">361</span><span id="line-361"> builder.append("TimeBasedLimiter(");</span>
-<span class="source-line-no">362</span><span id="line-362"> if (!reqsLimiter.isBypass()) {</span>
-<span class="source-line-no">363</span><span id="line-363"> builder.append("reqs=" + reqsLimiter);</span>
-<span class="source-line-no">364</span><span id="line-364"> }</span>
-<span class="source-line-no">365</span><span id="line-365"> if (!reqSizeLimiter.isBypass()) {</span>
-<span class="source-line-no">366</span><span id="line-366"> builder.append(" resSize=" + reqSizeLimiter);</span>
-<span class="source-line-no">367</span><span id="line-367"> }</span>
-<span class="source-line-no">368</span><span id="line-368"> if (!writeReqsLimiter.isBypass()) {</span>
-<span class="source-line-no">369</span><span id="line-369"> builder.append(" writeReqs=" + writeReqsLimiter);</span>
-<span class="source-line-no">370</span><span id="line-370"> }</span>
-<span class="source-line-no">371</span><span id="line-371"> if (!writeSizeLimiter.isBypass()) {</span>
-<span class="source-line-no">372</span><span id="line-372"> builder.append(" writeSize=" + writeSizeLimiter);</span>
-<span class="source-line-no">373</span><span id="line-373"> }</span>
-<span class="source-line-no">374</span><span id="line-374"> if (!readReqsLimiter.isBypass()) {</span>
-<span class="source-line-no">375</span><span id="line-375"> builder.append(" readReqs=" + readReqsLimiter);</span>
-<span class="source-line-no">376</span><span id="line-376"> }</span>
-<span class="source-line-no">377</span><span id="line-377"> if (!readSizeLimiter.isBypass()) {</span>
-<span class="source-line-no">378</span><span id="line-378"> builder.append(" readSize=" + readSizeLimiter);</span>
+<span class="source-line-no">359</span><span id="line-359"> public long getReadAvailable() {</span>
+<span class="source-line-no">360</span><span id="line-360"> return readSizeLimiter.getAvailable();</span>
+<span class="source-line-no">361</span><span id="line-361"> }</span>
+<span class="source-line-no">362</span><span id="line-362"></span>
+<span class="source-line-no">363</span><span id="line-363"> @Override</span>
+<span class="source-line-no">364</span><span id="line-364"> public long getReadLimit() {</span>
+<span class="source-line-no">365</span><span id="line-365"> return Math.min(readSizeLimiter.getLimit(), reqSizeLimiter.getLimit());</span>
+<span class="source-line-no">366</span><span id="line-366"> }</span>
+<span class="source-line-no">367</span><span id="line-367"></span>
+<span class="source-line-no">368</span><span id="line-368"> @Override</span>
+<span class="source-line-no">369</span><span id="line-369"> public long getWriteLimit() {</span>
+<span class="source-line-no">370</span><span id="line-370"> return Math.min(writeSizeLimiter.getLimit(), reqSizeLimiter.getLimit());</span>
+<span class="source-line-no">371</span><span id="line-371"> }</span>
+<span class="source-line-no">372</span><span id="line-372"></span>
+<span class="source-line-no">373</span><span id="line-373"> @Override</span>
+<span class="source-line-no">374</span><span id="line-374"> public String toString() {</span>
+<span class="source-line-no">375</span><span id="line-375"> StringBuilder builder = new StringBuilder();</span>
+<span class="source-line-no">376</span><span id="line-376"> builder.append("TimeBasedLimiter(");</span>
+<span class="source-line-no">377</span><span id="line-377"> if (!reqsLimiter.isBypass()) {</span>
+<span class="source-line-no">378</span><span id="line-378"> builder.append("reqs=" + reqsLimiter);</span>
<span class="source-line-no">379</span><span id="line-379"> }</span>
-<span class="source-line-no">380</span><span id="line-380"> if (!reqCapacityUnitLimiter.isBypass()) {</span>
-<span class="source-line-no">381</span><span id="line-381"> builder.append(" reqCapacityUnit=" + reqCapacityUnitLimiter);</span>
+<span class="source-line-no">380</span><span id="line-380"> if (!reqSizeLimiter.isBypass()) {</span>
+<span class="source-line-no">381</span><span id="line-381"> builder.append(" resSize=" + reqSizeLimiter);</span>
<span class="source-line-no">382</span><span id="line-382"> }</span>
-<span class="source-line-no">383</span><span id="line-383"> if (!writeCapacityUnitLimiter.isBypass()) {</span>
-<span class="source-line-no">384</span><span id="line-384"> builder.append(" writeCapacityUnit=" + writeCapacityUnitLimiter);</span>
+<span class="source-line-no">383</span><span id="line-383"> if (!writeReqsLimiter.isBypass()) {</span>
+<span class="source-line-no">384</span><span id="line-384"> builder.append(" writeReqs=" + writeReqsLimiter);</span>
<span class="source-line-no">385</span><span id="line-385"> }</span>
-<span class="source-line-no">386</span><span id="line-386"> if (!readCapacityUnitLimiter.isBypass()) {</span>
-<span class="source-line-no">387</span><span id="line-387"> builder.append(" readCapacityUnit=" + readCapacityUnitLimiter);</span>
+<span class="source-line-no">386</span><span id="line-386"> if (!writeSizeLimiter.isBypass()) {</span>
+<span class="source-line-no">387</span><span id="line-387"> builder.append(" writeSize=" + writeSizeLimiter);</span>
<span class="source-line-no">388</span><span id="line-388"> }</span>
-<span class="source-line-no">389</span><span id="line-389"> if (!atomicReqLimiter.isBypass()) {</span>
-<span class="source-line-no">390</span><span id="line-390"> builder.append(" atomicReqLimiter=" + atomicReqLimiter);</span>
+<span class="source-line-no">389</span><span id="line-389"> if (!readReqsLimiter.isBypass()) {</span>
+<span class="source-line-no">390</span><span id="line-390"> builder.append(" readReqs=" + readReqsLimiter);</span>
<span class="source-line-no">391</span><span id="line-391"> }</span>
-<span class="source-line-no">392</span><span id="line-392"> if (!atomicReadSizeLimiter.isBypass()) {</span>
-<span class="source-line-no">393</span><span id="line-393"> builder.append(" atomicReadSizeLimiter=" + atomicReadSizeLimiter);</span>
+<span class="source-line-no">392</span><span id="line-392"> if (!readSizeLimiter.isBypass()) {</span>
+<span class="source-line-no">393</span><span id="line-393"> builder.append(" readSize=" + readSizeLimiter);</span>
<span class="source-line-no">394</span><span id="line-394"> }</span>
-<span class="source-line-no">395</span><span id="line-395"> if (!atomicWriteSizeLimiter.isBypass()) {</span>
-<span class="source-line-no">396</span><span id="line-396"> builder.append(" atomicWriteSizeLimiter=" + atomicWriteSizeLimiter);</span>
+<span class="source-line-no">395</span><span id="line-395"> if (!reqCapacityUnitLimiter.isBypass()) {</span>
+<span class="source-line-no">396</span><span id="line-396"> builder.append(" reqCapacityUnit=" + reqCapacityUnitLimiter);</span>
<span class="source-line-no">397</span><span id="line-397"> }</span>
-<span class="source-line-no">398</span><span id="line-398"> if (!reqHandlerUsageTimeLimiter.isBypass()) {</span>
-<span class="source-line-no">399</span><span id="line-399"> builder.append(" reqHandlerUsageTimeLimiter=" + reqHandlerUsageTimeLimiter);</span>
+<span class="source-line-no">398</span><span id="line-398"> if (!writeCapacityUnitLimiter.isBypass()) {</span>
+<span class="source-line-no">399</span><span id="line-399"> builder.append(" writeCapacityUnit=" + writeCapacityUnitLimiter);</span>
<span class="source-line-no">400</span><span id="line-400"> }</span>
-<span class="source-line-no">401</span><span id="line-401"> builder.append(')');</span>
-<span class="source-line-no">402</span><span id="line-402"> return builder.toString();</span>
-<span class="source-line-no">403</span><span id="line-403"> }</span>
-<span class="source-line-no">404</span><span id="line-404">}</span>
+<span class="source-line-no">401</span><span id="line-401"> if (!readCapacityUnitLimiter.isBypass()) {</span>
+<span class="source-line-no">402</span><span id="line-402"> builder.append(" readCapacityUnit=" + readCapacityUnitLimiter);</span>
+<span class="source-line-no">403</span><span id="line-403"> }</span>
+<span class="source-line-no">404</span><span id="line-404"> if (!atomicReqLimiter.isBypass()) {</span>
+<span class="source-line-no">405</span><span id="line-405"> builder.append(" atomicReqLimiter=" + atomicReqLimiter);</span>
+<span class="source-line-no">406</span><span id="line-406"> }</span>
+<span class="source-line-no">407</span><span id="line-407"> if (!atomicReadSizeLimiter.isBypass()) {</span>
+<span class="source-line-no">408</span><span id="line-408"> builder.append(" atomicReadSizeLimiter=" + atomicReadSizeLimiter);</span>
+<span class="source-line-no">409</span><span id="line-409"> }</span>
+<span class="source-line-no">410</span><span id="line-410"> if (!atomicWriteSizeLimiter.isBypass()) {</span>
+<span class="source-line-no">411</span><span id="line-411"> builder.append(" atomicWriteSizeLimiter=" + atomicWriteSizeLimiter);</span>
+<span class="source-line-no">412</span><span id="line-412"> }</span>
+<span class="source-line-no">413</span><span id="line-413"> if (!reqHandlerUsageTimeLimiter.isBypass()) {</span>
+<span class="source-line-no">414</span><span id="line-414"> builder.append(" reqHandlerUsageTimeLimiter=" + reqHandlerUsageTimeLimiter);</span>
+<span class="source-line-no">415</span><span id="line-415"> }</span>
+<span class="source-line-no">416</span><span id="line-416"> builder.append(')');</span>
+<span class="source-line-no">417</span><span id="line-417"> return builder.toString();</span>
+<span class="source-line-no">418</span><span id="line-418"> }</span>
+<span class="source-line-no">419</span><span id="line-419">}</span>
diff --git a/devapidocs/type-search-index.js b/devapidocs/type-search-index.js
index b1046456a16..e39a20a6ae7 100644
--- a/devapidocs/type-search-index.js
+++ b/devapidocs/type-search-index.js
@@ -1 +1 @@
-typeSearchIndex = [{"p":"org.apache.hadoop.hbase","l":"Abortable"},{"p":"org.apache.hadoop.hbase.util","l":"AbstractByteRange"},{"p":"org.apache.hadoop.hbase.client","l":"AbstractClientScanner"},{"p":"org.apache.hadoop.hbase.master.procedure","l":"AbstractCloseTableRegionsProcedure"},{"p":"org.apache.hadoop.hbase.io.encoding","l":"AbstractDataBlockEncoder"},{"p":"org.apache.hadoop.hbase.io.encoding","l":"AbstractDataBlockEncoder.AbstractEncodedSeeker"},{"p":"org.apache.hadoop.hbase.util" [...]
\ No newline at end of file
+typeSearchIndex = [{"p":"org.apache.hadoop.hbase","l":"Abortable"},{"p":"org.apache.hadoop.hbase.util","l":"AbstractByteRange"},{"p":"org.apache.hadoop.hbase.client","l":"AbstractClientScanner"},{"p":"org.apache.hadoop.hbase.master.procedure","l":"AbstractCloseTableRegionsProcedure"},{"p":"org.apache.hadoop.hbase.io.encoding","l":"AbstractDataBlockEncoder"},{"p":"org.apache.hadoop.hbase.io.encoding","l":"AbstractDataBlockEncoder.AbstractEncodedSeeker"},{"p":"org.apache.hadoop.hbase.util" [...]
\ No newline at end of file
diff --git a/documentation-1.4.html b/documentation-1.4.html
index 21a0e9f2004..5a06c797c68 100644
--- a/documentation-1.4.html
+++ b/documentation-1.4.html
@@ -601,7 +601,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/documentation-2.3.html b/documentation-2.3.html
index 9822c69b48b..dacb74f0c84 100644
--- a/documentation-2.3.html
+++ b/documentation-2.3.html
@@ -617,7 +617,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/documentation-2.4.html b/documentation-2.4.html
index 741f8b6acc9..3ec400d8bcb 100644
--- a/documentation-2.4.html
+++ b/documentation-2.4.html
@@ -617,7 +617,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/documentation-2.5.html b/documentation-2.5.html
index b17266c6674..9f3f80c9872 100644
--- a/documentation-2.5.html
+++ b/documentation-2.5.html
@@ -601,7 +601,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/documentation-2.6.html b/documentation-2.6.html
index e596a5a0309..9d9027bfa47 100644
--- a/documentation-2.6.html
+++ b/documentation-2.6.html
@@ -601,7 +601,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/downloads.html b/downloads.html
index 338cc12622c..ac5e3bbc93e 100644
--- a/downloads.html
+++ b/downloads.html
@@ -664,7 +664,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/export_control.html b/export_control.html
index a2193ae6a6c..2743637c20a 100644
--- a/export_control.html
+++ b/export_control.html
@@ -568,7 +568,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/index.html b/index.html
index 7cd987c07bc..4d46517297b 100644
--- a/index.html
+++ b/index.html
@@ -639,7 +639,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/issue-management.html b/issue-management.html
index 74a7735131b..2dbabb37693 100644
--- a/issue-management.html
+++ b/issue-management.html
@@ -571,7 +571,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/licenses.html b/licenses.html
index 160973cb203..6d4d5ede78a 100644
--- a/licenses.html
+++ b/licenses.html
@@ -774,7 +774,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/mailing-lists.html b/mailing-lists.html
index ad27ba26b59..7d2c11ccbba 100644
--- a/mailing-lists.html
+++ b/mailing-lists.html
@@ -626,7 +626,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/metrics.html b/metrics.html
index 0e9b05b2c07..65bf5a3a7cb 100644
--- a/metrics.html
+++ b/metrics.html
@@ -648,7 +648,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/old_news.html b/old_news.html
index 1bb58e490d9..2b20af325e2 100644
--- a/old_news.html
+++ b/old_news.html
@@ -636,7 +636,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/plugin-management.html b/plugin-management.html
index 73ae2652be3..864fd3a81ed 100644
--- a/plugin-management.html
+++ b/plugin-management.html
@@ -769,7 +769,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/plugins.html b/plugins.html
index 5c76baefcd8..8a6741ab98a 100644
--- a/plugins.html
+++ b/plugins.html
@@ -698,7 +698,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index 00002b6b215..406b097a89e 100644
--- a/poweredbyhbase.html
+++ b/poweredbyhbase.html
@@ -865,7 +865,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/project-info.html b/project-info.html
index 0eb0e7fba3d..ce2174c8ac7 100644
--- a/project-info.html
+++ b/project-info.html
@@ -625,7 +625,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/project-reports.html b/project-reports.html
index 22b415446c2..afe89ae17e9 100644
--- a/project-reports.html
+++ b/project-reports.html
@@ -597,7 +597,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index a937bfd09c5..8584757e706 100644
--- a/pseudo-distributed.html
+++ b/pseudo-distributed.html
@@ -561,7 +561,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/replication.html b/replication.html
index 21c6ce946d3..8da56db0d2d 100644
--- a/replication.html
+++ b/replication.html
@@ -561,7 +561,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/resources.html b/resources.html
index fde018c6e14..47290a043c7 100644
--- a/resources.html
+++ b/resources.html
@@ -582,7 +582,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/scm.html b/scm.html
index d8e0f3fe48b..81ff1031f25 100644
--- a/scm.html
+++ b/scm.html
@@ -589,7 +589,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/sponsors.html b/sponsors.html
index d262853d685..0efb0bf30e5 100644
--- a/sponsors.html
+++ b/sponsors.html
@@ -576,7 +576,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/summary.html b/summary.html
index 6365bc45ddf..68b4e4485d1 100644
--- a/summary.html
+++ b/summary.html
@@ -638,7 +638,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/supportingprojects.html b/supportingprojects.html
index b87622a464e..5cce61e9ae7 100644
--- a/supportingprojects.html
+++ b/supportingprojects.html
@@ -816,7 +816,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/team.html b/team.html
index 0ee7aa12152..94b4ff7ad59 100644
--- a/team.html
+++ b/team.html
@@ -1696,7 +1696,7 @@ ASF
All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
<div class="mt-3" style="float: right">
- Last Published: 2025-10-22
+ Last Published: 2025-10-28
</div>
</div>
diff --git a/testapidocs/allclasses-index.html b/testapidocs/allclasses-index.html
index 2fe6bae5925..d49941fbafe 100644
--- a/testapidocs/allclasses-index.html
+++ b/testapidocs/allclasses-index.html
@@ -2871,3851 +2871,3856 @@ loadScripts(document, 'script');</script>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/favored/TestFavoredNodeAssignmentHelper.html" title="class or interface in org.apache.hadoop.hbase.favored" class="external-link">TestFavoredNodeAssignmentHelper</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/screen/field/TestFieldScreenPresenter.html" title="class or interface in org.apache.hadoop.hbase.hbtop.screen.field" class="external-link">TestFieldScreenPresenter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/field/TestFieldValue.html" title="class or interface in org.apache.hadoop.hbase.hbtop.field" class="external-link">TestFieldValue</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestFeedbackAdaptiveRateLimiter.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestFeedbackAdaptiveRateLimiter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Verify the behavior of the FeedbackAdaptiveRateLimiter including adaptive backoff multipliers and
+ over-subscription functionality.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/screen/field/TestFieldScreenPresenter.html" title="class or interface in org.apache.hadoop.hbase.hbtop.screen.field" class="external-link">TestFieldScreenPresenter</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestFifoRpcScheduler.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestFifoRpcScheduler</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/field/TestFieldValue.html" title="class or interface in org.apache.hadoop.hbase.hbtop.field" class="external-link">TestFieldValue</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestFileArchiverNotifierImpl.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestFileArchiverNotifierImpl</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestFifoRpcScheduler.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestFifoRpcScheduler</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestFileArchiverNotifierImpl.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestFileArchiverNotifierImpl</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for <a href="../apidocs/org/apache/hadoop/hbase/quotas/FileArchiverNotifierImpl.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link"><code>FileArchiverNotifierImpl</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestFileChangeWatcher.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestFileChangeWatcher</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestFileChangeWatcher.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestFileChangeWatcher</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">This file was originally copied from the Apache ZooKeeper project, but has been modified</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/tls/TestFileKeyStoreLoaderBuilderProvider.html" title="class or interface in org.apache.hadoop.hbase.io.crypto.tls" class="external-link">TestFileKeyStoreLoaderBuilderProvider</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/tls/TestFileKeyStoreLoaderBuilderProvider.html" title="class or interface in org.apache.hadoop.hbase.io.crypto.tls" class="external-link">TestFileKeyStoreLoaderBuilderProvider</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This file has been copied from the Apache ZooKeeper project.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestFileLink.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestFileLink</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestFileLink.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestFileLink</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test that FileLink switches between alternate locations when the current location moves or gets
deleted.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestFileSystemUtilizationChore</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestFileSystemUtilizationChore.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestFileSystemUtilizationChore</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for <a href="../apidocs/org/apache/hadoop/hbase/quotas/FileSystemUtilizationChore.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link"><code>FileSystemUtilizationChore</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test filters at the HRegion doorstep.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilter.SlowScanFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilter.SlowScanFilter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilter.SlowScanFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilter.SlowScanFilter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Filter which makes sleeps for a second between each row of a scan.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/screen/top/TestFilterDisplayModeScreenPresenter.html" title="class or interface in org.apache.hadoop.hbase.hbtop.screen.top" class="external-link">TestFilterDisplayModeScreenPresenter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterFromRegionSide.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterFromRegionSide</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/screen/top/TestFilterDisplayModeScreenPresenter.html" title="class or interface in org.apache.hadoop.hbase.hbtop.screen.top" class="external-link">TestFilterDisplayModeScreenPresenter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterFromRegionSide.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterFromRegionSide</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">To test behavior of filters at server from region side.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterFromRegionSide.FirstSeveralCellsFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterFromRegionSide.FirstSeveralCellsFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterList.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterList</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterFromRegionSide.FirstSeveralCellsFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterFromRegionSide.FirstSeveralCellsFilter</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterList.AlwaysNextColFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterList.AlwaysNextColFilter</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterList.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterList</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterListOnMini.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterListOnMini</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterList.AlwaysNextColFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterList.AlwaysNextColFilter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterListOnMini.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterListOnMini</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests filter Lists in ways that rely on a MiniCluster.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterListOrOperatorWithBlkCnt.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterListOrOperatorWithBlkCnt</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterSerialization.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterSerialization</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterListOrOperatorWithBlkCnt.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterListOrOperatorWithBlkCnt</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFiltersWithBinaryComponentComparator.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFiltersWithBinaryComponentComparator</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterSerialization.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterSerialization</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterWithScanLimits.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterWithScanLimits</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFiltersWithBinaryComponentComparator.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFiltersWithBinaryComponentComparator</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterWithScanLimits.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterWithScanLimits</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test if Filter is incompatible with scan-limits</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterWrapper.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterWrapper</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFilterWrapper.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFilterWrapper</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test if the FilterWrapper retains the same semantics defined in the
<a href="../apidocs/org/apache/hadoop/hbase/filter/Filter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link"><code>Filter</code></a></div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestFixedFileTrailer.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestFixedFileTrailer</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestFixedLengthWrapper.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestFixedLengthWrapper</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestFixedFileTrailer.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestFixedFileTrailer</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFlushFromClient.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFlushFromClient</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestFixedLengthWrapper.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestFixedLengthWrapper</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFlushFromClientWithDisabledFlushProcedure.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFlushFromClientWithDisabledFlushProcedure</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFlushFromClient.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFlushFromClient</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestFlushLifeCycleTracker.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestFlushLifeCycleTracker</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFlushFromClientWithDisabledFlushProcedure.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFlushFromClientWithDisabledFlushProcedure</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestFlushLifeCycleTracker.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestFlushLifeCycleTracker</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Confirm that the function of FlushLifeCycleTracker is OK as we do not use it in our own code.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestFlushLifeCycleTracker.FlushObserver.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestFlushLifeCycleTracker.FlushObserver</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestFlushRegionEntry.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestFlushRegionEntry</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestFlushLifeCycleTracker.FlushObserver.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestFlushLifeCycleTracker.FlushObserver</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.html" title="class or interface in org.apache.hadoop.hbase.snapshot" class="external-link">TestFlushSnapshotFromClient</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestFlushRegionEntry.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestFlushRegionEntry</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.html" title="class or interface in org.apache.hadoop.hbase.snapshot" class="external-link">TestFlushSnapshotFromClient</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test creating/using/deleting snapshots from the client</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/throttle/TestFlushWithThroughputController.html" title="class or interface in org.apache.hadoop.hbase.regionserver.throttle" class="external-link">TestFlushWithThroughputController</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestForceCacheImportantBlocks.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestForceCacheImportantBlocks</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/throttle/TestFlushWithThroughputController.html" title="class or interface in org.apache.hadoop.hbase.regionserver.throttle" class="external-link">TestFlushWithThroughputController</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestForceCacheImportantBlocks.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestForceCacheImportantBlocks</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Make sure we always cache important block types, such as index blocks, as long as we have a block
cache, even though block caching might be disabled for the column family.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/errorhandling/TestForeignExceptionDispatcher.html" title="class or interface in org.apache.hadoop.hbase.errorhandling" class="external-link">TestForeignExceptionDispatcher</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/errorhandling/TestForeignExceptionDispatcher.html" title="class or interface in org.apache.hadoop.hbase.errorhandling" class="external-link">TestForeignExceptionDispatcher</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test that we propagate errors through an dispatcher exactly once via different failure injection
mechanisms.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/errorhandling/TestForeignExceptionSerialization.html" title="class or interface in org.apache.hadoop.hbase.errorhandling" class="external-link">TestForeignExceptionSerialization</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Test that we correctly serialize exceptions from a remote source</div>
-</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSide.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSide</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/errorhandling/TestForeignExceptionSerialization.html" title="class or interface in org.apache.hadoop.hbase.errorhandling" class="external-link">TestForeignExceptionSerialization</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Run tests that use the HBase clients; <a href="../apidocs/org/apache/hadoop/hbase/client/Table.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link"><code>Table</code></a>.</div>
+<div class="block">Test that we correctly serialize exceptions from a remote source</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSide3.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSide3</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestFromClientSide3WoUnsafe.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestFromClientSide3WoUnsafe</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSide4.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSide4</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSide.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSide</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Run tests that use the HBase clients; <a href="../apidocs/org/apache/hadoop/hbase/client/Table.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link"><code>Table</code></a>.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSide5.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSide5</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSide3.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSide3</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestFromClientSide3WoUnsafe.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestFromClientSide3WoUnsafe</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSide4.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSide4</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Run tests that use the HBase clients; <a href="../apidocs/org/apache/hadoop/hbase/client/Table.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link"><code>Table</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideNoCodec.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideNoCodec</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSide5.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSide5</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Run tests that use the HBase clients; <a href="../apidocs/org/apache/hadoop/hbase/client/Table.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link"><code>Table</code></a>.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideNoCodec.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideNoCodec</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Do some ops and prove that client and server can work w/o codecs; that we can pb all the time.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideScanExcpetion.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideScanExcpetion</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideScanExcpetion.MyHRegion.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideScanExcpetion.MyHRegion</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideScanExcpetion.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideScanExcpetion</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideScanExcpetion.MyHStore.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideScanExcpetion.MyHStore</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideScanExcpetion.MyHRegion.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideScanExcpetion.MyHRegion</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideScanExcpetion.MyStoreScanner.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideScanExcpetion.MyStoreScanner</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideScanExcpetion.MyHStore.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideScanExcpetion.MyHStore</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideScanExcpetionWithCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideScanExcpetionWithCoprocessor</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Test all client operations with a coprocessor that just implements the default flush/compact/scan
- policy.</div>
-</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideWithCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideWithCoprocessor</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideScanExcpetion.MyStoreScanner.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideScanExcpetion.MyStoreScanner</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideScanExcpetionWithCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideScanExcpetionWithCoprocessor</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test all client operations with a coprocessor that just implements the default flush/compact/scan
policy.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideWithCoprocessor4.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideWithCoprocessor4</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideWithCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideWithCoprocessor</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test all client operations with a coprocessor that just implements the default flush/compact/scan
policy.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideWithCoprocessor5.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideWithCoprocessor5</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideWithCoprocessor4.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideWithCoprocessor4</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test all client operations with a coprocessor that just implements the default flush/compact/scan
policy.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestFSDataInputStreamWrapper.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestFSDataInputStreamWrapper</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestFSErrorsExposed</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestFromClientSideWithCoprocessor5.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestFromClientSideWithCoprocessor5</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Test all client operations with a coprocessor that just implements the default flush/compact/scan
+ policy.</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestFSDataInputStreamWrapper.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestFSDataInputStreamWrapper</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestFSErrorsExposed</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test cases that ensure that file system level errors are bubbled up appropriately to clients,
rather than swallowed.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestFSHLog.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestFSHLog</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestFSHLog.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestFSHLog</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Provides FSHLog test cases.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogCorruptionDueToDanglingByteBuffer.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogCorruptionDueToDanglingByteBuffer</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogCorruptionDueToDanglingByteBuffer.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogCorruptionDueToDanglingByteBuffer</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testcase for HBASE-22539</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogCorruptionDueToDanglingByteBuffer.PauseWAL.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogCorruptionDueToDanglingByteBuffer.PauseWAL</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogCorruptionDueToDanglingByteBuffer.PauseWALProvider.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogCorruptionDueToDanglingByteBuffer.PauseWALProvider</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogCorruptionDueToDanglingByteBuffer.PauseWAL.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogCorruptionDueToDanglingByteBuffer.PauseWAL</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogCorruptionWithMultiPutDueToDanglingByteBuffer.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogCorruptionWithMultiPutDueToDanglingByteBuffer</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogCorruptionDueToDanglingByteBuffer.PauseWALProvider.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogCorruptionDueToDanglingByteBuffer.PauseWALProvider</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogCorruptionWithMultiPutDueToDanglingByteBuffer.PauseWAL.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogCorruptionWithMultiPutDueToDanglingByteBuffer.PauseWAL</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogCorruptionWithMultiPutDueToDanglingByteBuffer.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogCorruptionWithMultiPutDueToDanglingByteBuffer</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogCorruptionWithMultiPutDueToDanglingByteBuffer.PauseWALProvider.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogCorruptionWithMultiPutDueToDanglingByteBuffer.PauseWALProvider</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogCorruptionWithMultiPutDueToDanglingByteBuffer.PauseWAL.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogCorruptionWithMultiPutDueToDanglingByteBuffer.PauseWAL</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestFSHLogDurability.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestFSHLogDurability</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogCorruptionWithMultiPutDueToDanglingByteBuffer.PauseWALProvider.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogCorruptionWithMultiPutDueToDanglingByteBuffer.PauseWALProvider</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogProvider.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogProvider</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestFSHLogDurability.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestFSHLogDurability</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogProviderWithConcurrentWrites.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogProviderWithConcurrentWrites</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogProvider.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogProvider</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestFSHLogProviderWithConcurrentWrites.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestFSHLogProviderWithConcurrentWrites</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests for TestFSHLogProvider which use WALPerformanceEvaluation for WAL data creation.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestFSReplicationPeerStorage.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestFSReplicationPeerStorage</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestFSTableDescriptorForceCreation.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestFSTableDescriptorForceCreation</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestFSReplicationPeerStorage.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestFSReplicationPeerStorage</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestFSTableDescriptors.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestFSTableDescriptors</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestFSTableDescriptorForceCreation.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestFSTableDescriptorForceCreation</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestFSTableDescriptors.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestFSTableDescriptors</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests for <a href="../apidocs/org/apache/hadoop/hbase/util/FSTableDescriptors.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link"><code>FSTableDescriptors</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestFSUtils.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestFSUtils</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestFSUtils.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestFSUtils</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test <a href="../apidocs/org/apache/hadoop/hbase/util/FSUtils.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link"><code>FSUtils</code></a>.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestFSVisitor.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestFSVisitor</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestFSVisitor.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestFSVisitor</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test <a href="../apidocs/org/apache/hadoop/hbase/util/FSUtils.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link"><code>FSUtils</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestFSWALEntry.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestFSWALEntry</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestFullBackup.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestFullBackup</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestFSWALEntry.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestFSWALEntry</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestFullBackupSet.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestFullBackupSet</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestFullBackup.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestFullBackup</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestFullBackupSetRestoreSet.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestFullBackupSetRestoreSet</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestFullBackupSet.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestFullBackupSet</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestFullBackupWithFailures.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestFullBackupWithFailures</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestFullBackupSetRestoreSet.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestFullBackupSetRestoreSet</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestFullLogReconstruction.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestFullLogReconstruction</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestFullBackupWithFailures.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestFullBackupWithFailures</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestFullRestore.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestFullRestore</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestFullLogReconstruction.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestFullLogReconstruction</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestFutureUtils.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestFutureUtils</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestFullRestore.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestFullRestore</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFuzzyRowAndColumnRangeFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFuzzyRowAndColumnRangeFilter</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestFutureUtils.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestFutureUtils</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFuzzyRowFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFuzzyRowFilter</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFuzzyRowAndColumnRangeFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFuzzyRowAndColumnRangeFilter</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFuzzyRowFilterEndToEnd.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFuzzyRowFilterEndToEnd</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFuzzyRowFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFuzzyRowFilter</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFuzzyRowFilterEndToEndLarge.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFuzzyRowFilterEndToEndLarge</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFuzzyRowFilterEndToEnd.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFuzzyRowFilterEndToEnd</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestGet.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestGet</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestFuzzyRowFilterEndToEndLarge.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestFuzzyRowFilterEndToEndLarge</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestGetAndPutResource.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestGetAndPutResource</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestGet.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestGet</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestGetClosestAtOrBefore.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestGetClosestAtOrBefore</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestGetAndPutResource.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestGetAndPutResource</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestGetClosestAtOrBefore.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestGetClosestAtOrBefore</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">TestGet is a medley of tests of get all done up as a single test.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestGetInfoPort.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestGetInfoPort</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestGetInfoPort.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestGetInfoPort</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Trivial test to confirm that we do not get 0 infoPort.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestGetLastFlushedSequenceId.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestGetLastFlushedSequenceId</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestGetLastFlushedSequenceId.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestGetLastFlushedSequenceId</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Trivial test to confirm that we can get last flushed sequence id by encodedRegionName.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestGetProcedureResult.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestGetProcedureResult</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestGetProcedureResult.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestGetProcedureResult</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testcase for HBASE-19608.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestGetProcedureResult.DummyProcedure.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestGetProcedureResult.DummyProcedure</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestGetReplicationLoad.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestGetReplicationLoad</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestGetProcedureResult.DummyProcedure.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestGetProcedureResult.DummyProcedure</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestGetReplicationLoad.MyMaster.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestGetReplicationLoad.MyMaster</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestGetReplicationLoad.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestGetReplicationLoad</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestGetScanColumnsWithNewVersionBehavior.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestGetScanColumnsWithNewVersionBehavior</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestGetReplicationLoad.MyMaster.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestGetReplicationLoad.MyMaster</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestGetScanColumnsWithNewVersionBehavior.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestGetScanColumnsWithNewVersionBehavior</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testcase for HBASE-21032, where use the wrong readType from a Scan instance which is actually a
get scan and cause returning only 1 cell per rpc call.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestGetScanPartialResult.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestGetScanPartialResult</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestGetScanPartialResult.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestGetScanPartialResult</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testcase for HBASE-21032, where use the wrong readType from a Scan instance which is actually a
get scan and cause returning only 1 cell per rpc call.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestGlobalFilter.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestGlobalFilter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestGlobalFilter.RecordingFilter.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestGlobalFilter.RecordingFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestGlobalFilter.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestGlobalFilter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestGlobalFilter.RecordingFilter.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestGlobalFilter.RecordingFilter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">A very simple filter that records accessed uri's</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestGlobalFilter.RecordingFilter.Initializer.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestGlobalFilter.RecordingFilter.Initializer</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestGlobalFilter.RecordingFilter.Initializer.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestGlobalFilter.RecordingFilter.Initializer</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Configuration for RecordingFilter</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestGlobalMemStoreSize.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestGlobalMemStoreSize</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestGlobalMemStoreSize.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestGlobalMemStoreSize</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test HBASE-3694 whether the GlobalMemStoreSize is the same as the summary of all the online
region's MemStoreSize</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettingsImpl.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestGlobalQuotaSettingsImpl</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapred/TestGroupingTableMap.html" title="class or interface in org.apache.hadoop.hbase.mapred" class="external-link">TestGroupingTableMap</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestGlobalQuotaSettingsImpl.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestGlobalQuotaSettingsImpl</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestGroupingTableMapper.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestGroupingTableMapper</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapred/TestGroupingTableMap.html" title="class or interface in org.apache.hadoop.hbase.mapred" class="external-link">TestGroupingTableMap</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestGsonUtil.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestGsonUtil</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestGroupingTableMapper.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestGroupingTableMapper</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestGzipFilter.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestGzipFilter</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestGsonUtil.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestGsonUtil</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestGZIPResponseWrapper.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestGZIPResponseWrapper</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestGzipFilter.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestGzipFilter</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestHalfStoreFileReader</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestGZIPResponseWrapper.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestGZIPResponseWrapper</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestHashTable.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestHashTable</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestHalfStoreFileReader</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestHashTable.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestHashTable</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Basic test for the HashTable M/R tool</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestHBackupFileSystem.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestHBackupFileSystem</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHBaseClassTestRule.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHBaseClassTestRule</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestHBackupFileSystem.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestHBackupFileSystem</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHBaseClassTestRule.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHBaseClassTestRule</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests HBaseClassTestRule.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestHBaseClient.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestHBaseClient</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHBaseConfiguration.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHBaseConfiguration</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestHBaseClient.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestHBaseClient</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHBaseConfTool.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHBaseConfTool</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHBaseConfiguration.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHBaseConfiguration</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHBaseFsckCleanReplicationBarriers.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHBaseFsckCleanReplicationBarriers</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHBaseConfTool.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHBaseConfTool</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHBaseFsckComparator.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHBaseFsckComparator</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHBaseFsckCleanReplicationBarriers.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHBaseFsckCleanReplicationBarriers</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHBaseFsckComparator.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHBaseFsckComparator</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test the comparator used by Hbck.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHBaseFsckEncryption.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHBaseFsckEncryption</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHBaseFsckMOB.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHBaseFsckMOB</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHBaseFsckEncryption.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHBaseFsckEncryption</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHBaseFsckReplication.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHBaseFsckReplication</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHBaseFsckMOB.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHBaseFsckMOB</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHBaseFsckWithoutTableHbaseReplication.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHBaseFsckWithoutTableHbaseReplication</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHBaseFsckReplication.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHBaseFsckReplication</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/tls/TestHBaseHostnameVerifier.html" title="class or interface in org.apache.hadoop.hbase.io.crypto.tls" class="external-link">TestHBaseHostnameVerifier</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHBaseFsckWithoutTableHbaseReplication.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHBaseFsckWithoutTableHbaseReplication</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/tls/TestHBaseHostnameVerifier.html" title="class or interface in org.apache.hadoop.hbase.io.crypto.tls" class="external-link">TestHBaseHostnameVerifier</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test cases taken and adapted from Apache ZooKeeper Project</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHBaseMetaEdit.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHBaseMetaEdit</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHBaseMetaEdit.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHBaseMetaEdit</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test being able to edit hbase:meta.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestHBaseMRTestingUtility.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestHBaseMRTestingUtility</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHBaseOnOtherDfsCluster.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHBaseOnOtherDfsCluster</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestHBaseMRTestingUtility.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestHBaseMRTestingUtility</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHBaseOnOtherDfsCluster.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHBaseOnOtherDfsCluster</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test that an HBase cluster can run on top of an existing MiniDfsCluster</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestHBaseReplicationEndpoint.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestHBaseReplicationEndpoint</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestHBaseRpcControllerImpl.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestHBaseRpcControllerImpl</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestHBaseReplicationEndpoint.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestHBaseReplicationEndpoint</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestHBaseSaslRpcClient.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestHBaseSaslRpcClient</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestHBaseRpcControllerImpl.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestHBaseRpcControllerImpl</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/backoff/TestHBaseServerExceptionPauseManager.html" title="class or interface in org.apache.hadoop.hbase.client.backoff" class="external-link">TestHBaseServerExceptionPauseManager</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestHBaseSaslRpcClient.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestHBaseSaslRpcClient</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHBaseTestingUtil.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHBaseTestingUtil</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/backoff/TestHBaseServerExceptionPauseManager.html" title="class or interface in org.apache.hadoop.hbase.client.backoff" class="external-link">TestHBaseServerExceptionPauseManager</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHBaseTestingUtil.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHBaseTestingUtil</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test our testing utility class</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHBaseTestingUtilitySpinup.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHBaseTestingUtilitySpinup</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHBaseTestingUtilitySpinup.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHBaseTestingUtilitySpinup</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Make sure we can spin up a HBTU without a hbase-site.xml</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/tls/TestHBaseTrustManager.html" title="class or interface in org.apache.hadoop.hbase.io.crypto.tls" class="external-link">TestHBaseTrustManager</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/tls/TestHBaseTrustManager.html" title="class or interface in org.apache.hadoop.hbase.io.crypto.tls" class="external-link">TestHBaseTrustManager</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test cases taken and adapted from Apache ZooKeeper Project.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestHBaseWalOnEC</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestHbck.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestHbck</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestHBaseWalOnEC</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestHbck.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestHbck</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Class to test HBaseHbck.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestHbck.FailingMergeAfterMetaUpdatedMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestHbck.FailingMergeAfterMetaUpdatedMasterObserver</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestHbck.FailingSplitAfterMetaUpdatedMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestHbck.FailingSplitAfterMetaUpdatedMasterObserver</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestHbck.FailingMergeAfterMetaUpdatedMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestHbck.FailingMergeAfterMetaUpdatedMasterObserver</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestHbck.SuspendProcedure</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestHbck.FailingSplitAfterMetaUpdatedMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestHbck.FailingSplitAfterMetaUpdatedMasterObserver</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHDFSBlocksDistribution.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHDFSBlocksDistribution</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestHbck.SuspendProcedure.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestHbck.SuspendProcedure</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHdfsSnapshotHRegion.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHdfsSnapshotHRegion</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHDFSBlocksDistribution.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHDFSBlocksDistribution</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHeapMemoryManager</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHdfsSnapshotHRegion.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHdfsSnapshotHRegion</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestHeapSize.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestHeapSize</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHeapMemoryManager</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestHeapSize.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestHeapSize</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testing the sizing that HeapSize offers and compares to the size given by ClassSize.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hbase/archetypes/exemplars/client/TestHelloHBase.html" title="class or interface in org.apache.hbase.archetypes.exemplars.client" class="external-link">TestHelloHBase</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hbase/archetypes/exemplars/client/TestHelloHBase.html" title="class or interface in org.apache.hbase.archetypes.exemplars.client" class="external-link">TestHelloHBase</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Unit testing for HelloHBase.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hbase/archetypes/exemplars/shaded_client/TestHelloHBase.html" title="class or interface in org.apache.hbase.archetypes.exemplars.shaded_client" class="external-link">TestHelloHBase</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hbase/archetypes/exemplars/shaded_client/TestHelloHBase.html" title="class or interface in org.apache.hbase.archetypes.exemplars.shaded_client" class="external-link">TestHelloHBase</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Unit testing for HelloHBase.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/screen/help/TestHelpScreenPresenter.html" title="class or interface in org.apache.hadoop.hbase.hbtop.screen.help" class="external-link">TestHelpScreenPresenter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFile.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFile</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/screen/help/TestHelpScreenPresenter.html" title="class or interface in org.apache.hadoop.hbase.hbtop.screen.help" class="external-link">TestHelpScreenPresenter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFile.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFile</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">test hfile features.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHFileArchiveUtil.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHFileArchiveUtil</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestHFileArchiveUtil.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestHFileArchiveUtil</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test that the utility works as expected</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestHFileArchiving.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestHFileArchiving</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestHFileArchiving.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestHFileArchiving</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test that the <a href="../apidocs/org/apache/hadoop/hbase/backup/HFileArchiver.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link"><code>HFileArchiver</code></a> correctly removes all the parts of a region when cleaning up
a region</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlock.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlock</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockHeaderCorruption.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockHeaderCorruption</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlock.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlock</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockHeaderCorruption.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockHeaderCorruption</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This test provides coverage for HFileHeader block fields that are read and interpreted before
HBase checksum validation can be applied.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockHeaderCorruption.Corrupter.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockHeaderCorruption.Corrupter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockHeaderCorruption.Corrupter.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockHeaderCorruption.Corrupter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Enables writing and rewriting portions of the file backing an <a href="../apidocs/org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link"><code>HFileBlock</code></a>.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockHeaderCorruption.CountingConsumer.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockHeaderCorruption.CountingConsumer</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockHeaderCorruption.CountingConsumer.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockHeaderCorruption.CountingConsumer</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Reads blocks off of an <a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockHeaderCorruption.HFileBlockChannelPositionIterator.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link"><code>TestHFileBlockHeaderCorruption.HFileBlockChannelPositionIterator</code></a>, counting them as it does.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockHeaderCorruption.HFileBlockChannelPosition.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockHeaderCorruption.HFileBlockChannelPosition</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockHeaderCorruption.HFileBlockChannelPosition.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockHeaderCorruption.HFileBlockChannelPosition</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Data class to enabled messing with the bytes behind an <a href="../apidocs/org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link"><code>HFileBlock</code></a>.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockHeaderCorruption.HFileBlockChannelPositionIterator.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockHeaderCorruption.HFileBlockChannelPositionIterator</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockHeaderCorruption.HFileBlockChannelPositionIterator.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockHeaderCorruption.HFileBlockChannelPositionIterator</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">A simplified wrapper over an <a href="../apidocs/org/apache/hadoop/hbase/io/hfile/HFileBlock.BlockIterator.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link"><code>HFileBlock.BlockIterator</code></a> that looks a lot like an
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link"><code>Iterator</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockHeaderCorruption.HFileTestRule.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockHeaderCorruption.HFileTestRule</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockIndex</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockHeaderCorruption.HFileTestRule.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockHeaderCorruption.HFileTestRule</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockUnpack.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockUnpack</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockIndex</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileDataBlockEncoder.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileDataBlockEncoder</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileBlockUnpack.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileBlockUnpack</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileEncryption.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileEncryption</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileDataBlockEncoder.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileDataBlockEncoder</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileInlineToRootChunkConversion.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileInlineToRootChunkConversion</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileEncryption.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileEncryption</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileInlineToRootChunkConversion.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileInlineToRootChunkConversion</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test a case when an inline index chunk is converted to a root one.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestHFileLink.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestHFileLink</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestHFileLink.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestHFileLink</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test that FileLink switches between alternate locations when the current location moves or gets
deleted.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestHFileOutputFormat2</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestHFileOutputFormat2</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Simple test for <a href="../apidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link"><code>HFileOutputFormat2</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2WithSecurity.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestHFileOutputFormat2WithSecurity</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2WithSecurity.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestHFileOutputFormat2WithSecurity</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests for <a href="../apidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link"><code>HFileOutputFormat2</code></a> with secure mode.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFilePrettyPrinter.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFilePrettyPrinter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileReaderImpl.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileReaderImpl</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFilePrettyPrinter.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFilePrettyPrinter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileReaderImpl.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileReaderImpl</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileScannerImplReferenceCount.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileScannerImplReferenceCount</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileSeek</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileScannerImplReferenceCount.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileScannerImplReferenceCount</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileSeek</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">test the performance for seek.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileWriterV3</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileWriterV3</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testing writing a version 3 <a href="../apidocs/org/apache/hadoop/hbase/io/hfile/HFile.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link"><code>HFile</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3WithDataEncoders.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileWriterV3WithDataEncoders</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3WithDataEncoders.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestHFileWriterV3WithDataEncoders</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testing writing a version 3 <a href="../apidocs/org/apache/hadoop/hbase/io/hfile/HFile.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link"><code>HFile</code></a> for all encoded blocks</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestHMasterCommandLine.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestHMasterCommandLine</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestHMasterRPCException.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestHMasterRPCException</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestHMasterCommandLine.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestHMasterCommandLine</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHMobStore.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHMobStore</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestHMasterRPCException.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestHMasterRPCException</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestHQuorumPeer.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestHQuorumPeer</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHMobStore.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHMobStore</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestHQuorumPeer.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestHQuorumPeer</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test for HQuorumPeer.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegion.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegion</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegion.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegion</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Basic stand-alone testing of HRegion.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegion.HRegionForTesting.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegion.HRegionForTesting</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegion.HRegionForTesting.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegion.HRegionForTesting</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">The same as HRegion class, the only difference is that instantiateHStore will create a
different HStore - HStoreForTesting.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegion.HStoreForTesting.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegion.HStoreForTesting</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegion.HStoreForTesting.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegion.HStoreForTesting</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">HStoreForTesting is merely the same as HStore, the difference is in the doCompaction method of
HStoreForTesting there is a checkpoint "hbase.hstore.compaction.complete" which doesn't let
hstore compaction complete.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegion.NoOpRegionCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegion.NoOpRegionCoprocessor</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionFileSystem.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionFileSystem</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegion.NoOpRegionCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegion.NoOpRegionCoprocessor</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHRegionLocation.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHRegionLocation</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionFileSystem.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionFileSystem</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionOnCluster</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestHRegionLocation.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestHRegionLocation</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionOnCluster</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests that need to spin up a cluster testing an <a href="../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link"><code>HRegion</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestHRegionPartitioner.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestHRegionPartitioner</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionReplayEvents</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestHRegionPartitioner.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestHRegionPartitioner</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionReplayEvents</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests of HRegion methods for replaying flush, compaction, region open, etc events for secondary
region replicas</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionServerBulkLoad</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionServerBulkLoad</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests bulk loading of HFiles and shows the atomicity or lack of atomicity of the region server's
bullkLoad functionality.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.AtomicHFileLoader.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionServerBulkLoad.AtomicHFileLoader</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.AtomicHFileLoader.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionServerBulkLoad.AtomicHFileLoader</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Thread that does full scans of the table looking for any partially completed rows.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.AtomicScanReader.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionServerBulkLoad.AtomicScanReader</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.AtomicScanReader.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionServerBulkLoad.AtomicScanReader</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Thread that does full scans of the table looking for any partially completed rows.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.MyObserver.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionServerBulkLoad.MyObserver</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionTracing.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionTracing</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.MyObserver.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionServerBulkLoad.MyObserver</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionWithInMemoryFlush.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionWithInMemoryFlush</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionTracing.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionTracing</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHRegionWithInMemoryFlush.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHRegionWithInMemoryFlush</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">A test similar to TestHRegion, but with in-memory flush families.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for the HStore</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.DummyStoreEngine.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.DummyStoreEngine</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyCompactingMemStore.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyCompactingMemStore</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.DummyStoreEngine.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.DummyStoreEngine</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyCompactingMemStore2.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyCompactingMemStore2</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyCompactingMemStore.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyCompactingMemStore</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyCompactingMemStore3.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyCompactingMemStore3</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyCompactingMemStore2.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyCompactingMemStore2</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyCompactingMemStore4.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyCompactingMemStore4</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyCompactingMemStore3.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyCompactingMemStore3</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyCompactingMemStore5.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyCompactingMemStore5</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyCompactingMemStore4.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyCompactingMemStore4</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyCompactingMemStore6.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyCompactingMemStore6</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyCompactingMemStore5.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyCompactingMemStore5</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyCompactingMemStoreWithCustomCompactor.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyCompactingMemStoreWithCustomCompactor</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyCompactingMemStore6.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyCompactingMemStore6</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyDefaultMemStore.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyDefaultMemStore</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyCompactingMemStoreWithCustomCompactor.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyCompactingMemStoreWithCustomCompactor</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyDefaultStoreFlusher.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyDefaultStoreFlusher</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyDefaultMemStore.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyDefaultMemStore</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStoreFile.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStoreFile</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStore.MyDefaultStoreFlusher.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStore.MyDefaultStoreFlusher</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestHStoreFile.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestHStoreFile</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test HStoreFile</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHtmlQuoting.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHtmlQuoting</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpCookieFlag.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpCookieFlag</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHtmlQuoting.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHtmlQuoting</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpCookieFlag.DummyAuthenticationFilter.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpCookieFlag.DummyAuthenticationFilter</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpCookieFlag.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpCookieFlag</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpCookieFlag.DummyFilterInitializer.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpCookieFlag.DummyFilterInitializer</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpCookieFlag.DummyAuthenticationFilter.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpCookieFlag.DummyAuthenticationFilter</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/example/TestHttpProxyExample.html" title="class or interface in org.apache.hadoop.hbase.client.example" class="external-link">TestHttpProxyExample</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpCookieFlag.DummyFilterInitializer.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpCookieFlag.DummyFilterInitializer</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpRequestLog.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpRequestLog</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/example/TestHttpProxyExample.html" title="class or interface in org.apache.hadoop.hbase.client.example" class="external-link">TestHttpProxyExample</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpRequestLog.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpRequestLog</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.DummyFilterInitializer.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer.DummyFilterInitializer</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.DummyFilterInitializer.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer.DummyFilterInitializer</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">FilterInitializer that initialized the DummyFilter.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.DummyServletFilter.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer.DummyServletFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.DummyServletFilter.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer.DummyServletFilter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Dummy filter that mimics as an authentication filter.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.EchoMapServlet.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer.EchoMapServlet</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.EchoServlet.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer.EchoServlet</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.EchoMapServlet.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer.EchoMapServlet</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.HtmlContentServlet.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer.HtmlContentServlet</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.EchoServlet.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer.EchoServlet</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.LongHeaderServlet.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer.LongHeaderServlet</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.HtmlContentServlet.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer.HtmlContentServlet</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.MyGroupsProvider.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer.MyGroupsProvider</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.LongHeaderServlet.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer.LongHeaderServlet</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServer.MyGroupsProvider.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServer.MyGroupsProvider</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Custom user->group mapping service.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServerLifecycle.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServerLifecycle</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServerWebapps.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServerWebapps</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServerLifecycle.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServerLifecycle</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestHttpServerWebapps.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestHttpServerWebapps</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test webapp loading</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapred/TestIdentityTableMap.html" title="class or interface in org.apache.hadoop.hbase.mapred" class="external-link">TestIdentityTableMap</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestIdLock.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestIdLock</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapred/TestIdentityTableMap.html" title="class or interface in org.apache.hadoop.hbase.mapred" class="external-link">TestIdentityTableMap</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestIdReadWriteLockStrongRef.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestIdReadWriteLockStrongRef</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestIdLock.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestIdLock</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestIdReadWriteLockWithObjectPool.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestIdReadWriteLockWithObjectPool</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestIdReadWriteLockStrongRef.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestIdReadWriteLockStrongRef</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestIllegalTableDescriptor.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestIllegalTableDescriptor</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestIdReadWriteLockWithObjectPool.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestIdReadWriteLockWithObjectPool</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestImmutableBytesWritable.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestImmutableBytesWritable</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestIllegalTableDescriptor.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestIllegalTableDescriptor</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestImmutableScan.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestImmutableScan</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestImmutableBytesWritable.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestImmutableBytesWritable</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestImmutableScan.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestImmutableScan</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Small tests for ImmutableScan</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportExport.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportExport</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportExport.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportExport</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests the table import and table export MR job functionality</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportExport.MetadataController.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportExport.MetadataController</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportTsv.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportTsv</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportExport.MetadataController.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportExport.MetadataController</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportTsvParser.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportTsvParser</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportTsv.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportTsv</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportTsvParser.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportTsvParser</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests for <a href="../apidocs/org/apache/hadoop/hbase/mapreduce/ImportTsv.TsvParser.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link"><code>ImportTsv.TsvParser</code></a>.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportTSVWithOperationAttributes.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportTSVWithOperationAttributes</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportTSVWithOperationAttributes.OperationAttributesTestController.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportTSVWithOperationAttributes.OperationAttributesTestController</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportTSVWithOperationAttributes.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportTSVWithOperationAttributes</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportTSVWithTTLs.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportTSVWithTTLs</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportTSVWithOperationAttributes.OperationAttributesTestController.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportTSVWithOperationAttributes.OperationAttributesTestController</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportTSVWithTTLs.TTLCheckingObserver.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportTSVWithTTLs.TTLCheckingObserver</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportTSVWithTTLs.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportTSVWithTTLs</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportTSVWithVisibilityLabels.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportTSVWithVisibilityLabels</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportTSVWithTTLs.TTLCheckingObserver.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportTSVWithTTLs.TTLCheckingObserver</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestInclusiveStopFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestInclusiveStopFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestImportTSVWithVisibilityLabels.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestImportTSVWithVisibilityLabels</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestInclusiveStopFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestInclusiveStopFilter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests the inclusive stop row filter</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestIncreaseMetaReplicaThroughConfig.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestIncreaseMetaReplicaThroughConfig</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestIncreaseMetaReplicaThroughConfig.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestIncreaseMetaReplicaThroughConfig</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Make sure we will honor the <a href="../apidocs/org/apache/hadoop/hbase/HConstants.html#META_REPLICAS_NUM" title="class or interface in org.apache.hadoop.hbase" class="external-link"><code>HConstants.META_REPLICAS_NUM</code></a>.And also test upgrading.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestIncrement.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestIncrement</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestIncrementalBackup.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestIncrementalBackup</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestIncrement.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestIncrement</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestIncrementalBackupDeleteTable.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestIncrementalBackupDeleteTable</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestIncrementalBackup.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestIncrementalBackup</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestIncrementalBackupDeleteTable.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestIncrementalBackupDeleteTable</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">1.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestIncrementalBackupMergeWithBulkLoad.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestIncrementalBackupMergeWithBulkLoad</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestIncrementalBackupMergeWithFailures.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestIncrementalBackupMergeWithFailures</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestIncrementalBackupMergeWithBulkLoad.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestIncrementalBackupMergeWithBulkLoad</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestIncrementalBackupWithBulkLoad.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestIncrementalBackupWithBulkLoad</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestIncrementalBackupMergeWithFailures.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestIncrementalBackupMergeWithFailures</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestIncrementalBackupWithBulkLoad.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestIncrementalBackupWithBulkLoad</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This test checks whether backups properly track & manage bulk files loads.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestIncrementalBackupWithDataLoss.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestIncrementalBackupWithDataLoss</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestIncrementalBackupWithFailures.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestIncrementalBackupWithFailures</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestIncrementalBackupWithDataLoss.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestIncrementalBackupWithDataLoss</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestIncrementAndAppendWithNullResult.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestIncrementAndAppendWithNullResult</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/backup/TestIncrementalBackupWithFailures.html" title="class or interface in org.apache.hadoop.hbase.backup" class="external-link">TestIncrementalBackupWithFailures</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestIncrementAndAppendWithNullResult.MyObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestIncrementAndAppendWithNullResult.MyObserver</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestIncrementAndAppendWithNullResult.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestIncrementAndAppendWithNullResult</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestIncrementFromClientSideWithCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestIncrementFromClientSideWithCoprocessor</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestIncrementAndAppendWithNullResult.MyObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestIncrementAndAppendWithNullResult.MyObserver</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestIncrementFromClientSideWithCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestIncrementFromClientSideWithCoprocessor</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test all <a href="../apidocs/org/apache/hadoop/hbase/client/Increment.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link"><code>Increment</code></a> client operations with a coprocessor that just implements the default
flush/compact/scan policy.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestIncrementingEnvironmentEdge.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestIncrementingEnvironmentEdge</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestIncrementingEnvironmentEdge.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestIncrementingEnvironmentEdge</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests that the incrementing environment edge increments time instead of using the default.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestIncrementsFromClientSide.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestIncrementsFromClientSide</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestIncrementsFromClientSide.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestIncrementsFromClientSide</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Run Increment tests that use the HBase clients; <a href="../apidocs/org/apache/hadoop/hbase/client/TableBuilder.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link"><code>TableBuilder</code></a>.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestIncrementTimeRange.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestIncrementTimeRange</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestIncrementTimeRange.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestIncrementTimeRange</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This test runs batch mutation with Increments which have custom TimeRange.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestIncrementTimeRange.MyObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestIncrementTimeRange.MyObserver</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIndividualBytesFieldCell.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIndividualBytesFieldCell</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestIncrementTimeRange.MyObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestIncrementTimeRange.MyObserver</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestInfoServers.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestInfoServers</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIndividualBytesFieldCell.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIndividualBytesFieldCell</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestInfoServers.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestInfoServers</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testing, info servers are disabled.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestInfoServersACL.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestInfoServersACL</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestInfoServersACL.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestInfoServersACL</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testing info servers for admin acl.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/testing/TestingHBaseClusterReplicationTestBase.html" title="class or interface in org.apache.hadoop.hbase.testing" class="external-link">TestingHBaseClusterReplicationTestBase</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/testing/TestingHBaseClusterReplicationTestBase.html" title="class or interface in org.apache.hadoop.hbase.testing" class="external-link">TestingHBaseClusterReplicationTestBase</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Setup two clusters for replication.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/screen/top/TestInputModeScreenPresenter.html" title="class or interface in org.apache.hadoop.hbase.hbtop.screen.top" class="external-link">TestInputModeScreenPresenter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestInputStreamBlockDistribution.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestInputStreamBlockDistribution</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/screen/top/TestInputModeScreenPresenter.html" title="class or interface in org.apache.hadoop.hbase.hbtop.screen.top" class="external-link">TestInputModeScreenPresenter</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestInstancePending.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestInstancePending</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestInputStreamBlockDistribution.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestInputStreamBlockDistribution</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIntegrationTestBase.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIntegrationTestBase</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestInstancePending.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestInstancePending</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestInterfaceAlign.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestInterfaceAlign</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIntegrationTestBase.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIntegrationTestBase</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestIntraRowPagination.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestIntraRowPagination</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestInterfaceAlign.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestInterfaceAlign</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestIntraRowPagination.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestIntraRowPagination</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test scan/get offset and limit settings within one row through HRegion API.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestInvalidMutationDurabilityException.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestInvalidMutationDurabilityException</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestInvocationRecordFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestInvocationRecordFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestInvalidMutationDurabilityException.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestInvalidMutationDurabilityException</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestInvocationRecordFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestInvocationRecordFilter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test the invocation logic of the filters.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIOFencing.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIOFencing</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIOFencing.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIOFencing</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test for the case where a regionserver going down has enough cycles to do damage to regions that
have actually been assigned elsehwere.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInCompletionHStore.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIOFencing.BlockCompactionsInCompletionHStore</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInCompletionRegion.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIOFencing.BlockCompactionsInCompletionRegion</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInCompletionHStore.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIOFencing.BlockCompactionsInCompletionHStore</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInCompletionRegion.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIOFencing.BlockCompactionsInCompletionRegion</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">An override of HRegion that allows us park compactions in a holding pattern and then when
appropriate for the test, allow them proceed again.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInPrepRegion.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIOFencing.BlockCompactionsInPrepRegion</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIOFencing.BlockCompactionsInPrepRegion.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIOFencing.BlockCompactionsInPrepRegion</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">An override of HRegion that allows us park compactions in a holding pattern and then when
appropriate for the test, allow them proceed again.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIOFencing.CompactionBlockerRegion.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIOFencing.CompactionBlockerRegion</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestIPCUtil.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestIPCUtil</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIOFencing.CompactionBlockerRegion.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIOFencing.CompactionBlockerRegion</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIPv6NIOServerSocketChannel.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIPv6NIOServerSocketChannel</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestIPCUtil.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestIPCUtil</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestIPv6NIOServerSocketChannel.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestIPv6NIOServerSocketChannel</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This tests whether ServerSocketChannel works over ipv6, which ZooKeeper depends on.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestIsDeleteFailure.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestIsDeleteFailure</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestIsDeleteFailure.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestIsDeleteFailure</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test failure in ScanDeleteTracker.isDeleted when ROWCOL bloom filter is used during a scan with a
filter.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestJarFinder.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestJarFinder</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestJarFinder.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestJarFinder</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This file was forked from hadoop/common/branches/branch-2@1350012.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/tls/TestJKSFileLoader.html" title="class or interface in org.apache.hadoop.hbase.io.crypto.tls" class="external-link">TestJKSFileLoader</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/tls/TestJKSFileLoader.html" title="class or interface in org.apache.hadoop.hbase.io.crypto.tls" class="external-link">TestJKSFileLoader</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">This file has been copied from the Apache ZooKeeper project.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestJMXConnectorServer.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestJMXConnectorServer</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestJMXConnectorServer.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestJMXConnectorServer</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test case for JMX Connector Server.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestJMXConnectorServer.MyAccessController.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestJMXConnectorServer.MyAccessController</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/jmx/TestJMXJsonServlet.html" title="class or interface in org.apache.hadoop.hbase.http.jmx" class="external-link">TestJMXJsonServlet</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestJMXConnectorServer.MyAccessController.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestJMXConnectorServer.MyAccessController</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestJMXListener.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestJMXListener</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/jmx/TestJMXJsonServlet.html" title="class or interface in org.apache.hadoop.hbase.http.jmx" class="external-link">TestJMXJsonServlet</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestJoinedScanners.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestJoinedScanners</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestJMXListener.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestJMXListener</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestJoinedScanners.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestJoinedScanners</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test performance improvement of joined scanners optimization:
https://issues.apache.org/jira/browse/HBASE-5416</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestJRubyFormat.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestJRubyFormat</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestJSONBean.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestJSONBean</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestJRubyFormat.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestJRubyFormat</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestJSONBean.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestJSONBean</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test <a href="../apidocs/org/apache/hadoop/hbase/util/JSONBean.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link"><code>JSONBean</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestJSONMetricUtil.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestJSONMetricUtil</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/logging/TestJul2Slf4j.html" title="class or interface in org.apache.hadoop.hbase.logging" class="external-link">TestJul2Slf4j</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestJSONMetricUtil.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestJSONMetricUtil</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/logging/TestJul2Slf4j.html" title="class or interface in org.apache.hadoop.hbase.logging" class="external-link">TestJul2Slf4j</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This should be in the hbase-logging module but the <a href="../apidocs/org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class or interface in org.apache.hadoop.hbase" class="external-link"><code>HBaseClassTestRule</code></a> is in hbase-common
so we can only put the class in hbase-common module for now...</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestJUnit5TagConstants.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestJUnit5TagConstants</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestJUnit5TagConstants.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestJUnit5TagConstants</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Verify that the values are all correct.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestKeepDeletes.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestKeepDeletes</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestKeyLocker.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestKeyLocker</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestKeepDeletes.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestKeepDeletes</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestKeyOnlyFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestKeyOnlyFilter</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestKeyLocker.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestKeyLocker</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/terminal/impl/TestKeyPress.html" title="class or interface in org.apache.hadoop.hbase.hbtop.terminal.impl" class="external-link">TestKeyPress</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestKeyOnlyFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestKeyOnlyFilter</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/TestKeyProvider.html" title="class or interface in org.apache.hadoop.hbase.io.crypto" class="external-link">TestKeyProvider</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/terminal/impl/TestKeyPress.html" title="class or interface in org.apache.hadoop.hbase.hbtop.terminal.impl" class="external-link">TestKeyPress</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/tls/TestKeyStoreFileType.html" title="class or interface in org.apache.hadoop.hbase.io.crypto.tls" class="external-link">TestKeyStoreFileType</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/TestKeyProvider.html" title="class or interface in org.apache.hadoop.hbase.io.crypto" class="external-link">TestKeyProvider</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/tls/TestKeyStoreFileType.html" title="class or interface in org.apache.hadoop.hbase.io.crypto.tls" class="external-link">TestKeyStoreFileType</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">This file has been copied from the Apache ZooKeeper project.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/TestKeyStoreKeyProvider.html" title="class or interface in org.apache.hadoop.hbase.io.crypto" class="external-link">TestKeyStoreKeyProvider</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestKeyValue.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestKeyValue</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/TestKeyStoreKeyProvider.html" title="class or interface in org.apache.hadoop.hbase.io.crypto" class="external-link">TestKeyStoreKeyProvider</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/codec/TestKeyValueCodec.html" title="class or interface in org.apache.hadoop.hbase.codec" class="external-link">TestKeyValueCodec</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestKeyValue.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestKeyValue</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/codec/TestKeyValueCodecWithTags.html" title="class or interface in org.apache.hadoop.hbase.codec" class="external-link">TestKeyValueCodecWithTags</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/codec/TestKeyValueCodec.html" title="class or interface in org.apache.hadoop.hbase.codec" class="external-link">TestKeyValueCodec</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestKeyValueHeap</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/codec/TestKeyValueCodecWithTags.html" title="class or interface in org.apache.hadoop.hbase.codec" class="external-link">TestKeyValueCodecWithTags</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestKeyValueScanFixture.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestKeyValueScanFixture</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestKeyValueHeap</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestLazyDataBlockDecompression.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestLazyDataBlockDecompression</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestKeyValueScanFixture.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestKeyValueScanFixture</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestLazyDataBlockDecompression.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestLazyDataBlockDecompression</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">A kind of integration test at the intersection of <a href="../apidocs/org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link"><code>HFileBlock</code></a>, <a href="../apidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link"><code>CacheConfig</code></a>, and
<a href="../apidocs/org/apache/hadoop/hbase/io/hfile/LruBlockCache.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link"><code>LruBlockCache</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestLdapAdminACL.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestLdapAdminACL</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestLdapAdminACL.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestLdapAdminACL</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for admin ACLs with LDAP authentication on the HttpServer.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestLdapHttpServer.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestLdapHttpServer</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestLdapHttpServer.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestLdapHttpServer</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for LDAP authentication on the HttpServer.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/asyncfs/TestLeaseRenewal.html" title="class or interface in org.apache.hadoop.hbase.io.asyncfs" class="external-link">TestLeaseRenewal</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/asyncfs/TestLeaseRenewal.html" title="class or interface in org.apache.hadoop.hbase.io.asyncfs" class="external-link">TestLeaseRenewal</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Make sure lease renewal works.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestLimitedScanWithFilter.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestLimitedScanWithFilter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestLimitedScanWithFilter.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestLimitedScanWithFilter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">With filter we may stop at a middle of row and think that we still have more cells for the
current row but actually all the remaining cells will be filtered out by the filter.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestListTablesByState.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestListTablesByState</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestListTablesShell.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestListTablesShell</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestListTablesByState.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestListTablesByState</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/encoding/TestLoadAndSwitchEncodeOnDisk.html" title="class or interface in org.apache.hadoop.hbase.io.encoding" class="external-link">TestLoadAndSwitchEncodeOnDisk</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestListTablesShell.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestListTablesShell</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/encoding/TestLoadAndSwitchEncodeOnDisk.html" title="class or interface in org.apache.hadoop.hbase.io.encoding" class="external-link">TestLoadAndSwitchEncodeOnDisk</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Uses the load tester</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestLoadProcedureError.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestLoadProcedureError</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestLoadProcedureError.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestLoadProcedureError</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testcase for HBASE-21490.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestLoadProcedureError.TestProcedure.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestLoadProcedureError.TestProcedure</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestLoadTestKVGenerator.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestLoadTestKVGenerator</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestLoadProcedureError.TestProcedure.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestLoadProcedureError.TestProcedure</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html" title="class or interface in org.apache.hadoop.hbase.io.asyncfs" class="external-link">TestLocalAsyncOutput</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestLoadTestKVGenerator.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestLoadTestKVGenerator</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestLocalHBaseCluster.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestLocalHBaseCluster</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html" title="class or interface in org.apache.hadoop.hbase.io.asyncfs" class="external-link">TestLocalAsyncOutput</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestLocalHBaseCluster.MyHMaster.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestLocalHBaseCluster.MyHMaster</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestLocalHBaseCluster.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestLocalHBaseCluster</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestLocalHBaseCluster.MyHMaster.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestLocalHBaseCluster.MyHMaster</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">A private master class similar to that used by HMasterCommandLine when running in local mode.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestLocalHBaseCluster.MyHRegionServer.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestLocalHBaseCluster.MyHRegionServer</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestLocalHBaseCluster.MyHRegionServer.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestLocalHBaseCluster.MyHRegionServer</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">A private regionserver class with a dummy method for testing casts</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/logging/TestLog4jUtils.html" title="class or interface in org.apache.hadoop.hbase.logging" class="external-link">TestLog4jUtils</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/logging/TestLog4jUtils.html" title="class or interface in org.apache.hadoop.hbase.logging" class="external-link">TestLog4jUtils</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">This should be in the hbase-logging module but the <a href="../apidocs/org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class or interface in org.apache.hadoop.hbase" class="external-link"><code>HBaseClassTestRule</code></a> is in hbase-common
so we can only put the class in hbase-common module for now...</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/log/TestLogLevel.html" title="class or interface in org.apache.hadoop.hbase.http.log" class="external-link">TestLogLevel</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/log/TestLogLevel.html" title="class or interface in org.apache.hadoop.hbase.http.log" class="external-link">TestLogLevel</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test LogLevel.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestLogRollAbort</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestLogRollAbort</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests for conditions that should trigger RegionServer aborts when rolling the current WAL fails.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestLogRoller.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestLogRoller</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestLogRolling</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestLogRoller.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestLogRoller</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.SlowSyncLogWriter.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestLogRolling.SlowSyncLogWriter</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestLogRolling</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestLogRollingNoCluster</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.SlowSyncLogWriter.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestLogRolling.SlowSyncLogWriter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestLogRollingNoCluster</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test many concurrent appenders to an WAL while rolling the log.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.HighLatencySyncWriter.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestLogRollingNoCluster.HighLatencySyncWriter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.HighLatencySyncWriter.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestLogRollingNoCluster.HighLatencySyncWriter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">ProtobufLogWriter that simulates higher latencies in sync() call</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestLogRollPeriod.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestLogRollPeriod</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestLongComparator.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestLongComparator</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestLogRollPeriod.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestLogRollPeriod</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestLossyCounting.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestLossyCounting</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestLongComparator.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestLongComparator</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestLowLatencySpaceQuotas.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestLowLatencySpaceQuotas</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestLossyCounting.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestLossyCounting</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestLruAdaptiveBlockCache.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestLruAdaptiveBlockCache</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestLowLatencySpaceQuotas.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestLowLatencySpaceQuotas</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestLruAdaptiveBlockCache.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestLruAdaptiveBlockCache</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests the concurrent LruAdaptiveBlockCache.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestLruBlockCache.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestLruBlockCache</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestLruBlockCache.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestLruBlockCache</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests the concurrent LruBlockCache.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestLruCachedBlock.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestLruCachedBlock</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/util/TestLRUDictionary.html" title="class or interface in org.apache.hadoop.hbase.io.util" class="external-link">TestLRUDictionary</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestLruCachedBlock.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestLruCachedBlock</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/util/TestLRUDictionary.html" title="class or interface in org.apache.hadoop.hbase.io.util" class="external-link">TestLRUDictionary</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests LRUDictionary</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMajorCompaction.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMajorCompaction</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMajorCompaction.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMajorCompaction</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test major compactions</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/compaction/TestMajorCompactionRequest.html" title="class or interface in org.apache.hadoop.hbase.util.compaction" class="external-link">TestMajorCompactionRequest</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/compaction/TestMajorCompactionTTLRequest.html" title="class or interface in org.apache.hadoop.hbase.util.compaction" class="external-link">TestMajorCompactionTTLRequest</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/compaction/TestMajorCompactionRequest.html" title="class or interface in org.apache.hadoop.hbase.util.compaction" class="external-link">TestMajorCompactionRequest</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/compaction/TestMajorCompactor.html" title="class or interface in org.apache.hadoop.hbase.util.compaction" class="external-link">TestMajorCompactor</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/compaction/TestMajorCompactionTTLRequest.html" title="class or interface in org.apache.hadoop.hbase.util.compaction" class="external-link">TestMajorCompactionTTLRequest</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/compaction/TestMajorCompactorTTL.html" title="class or interface in org.apache.hadoop.hbase.util.compaction" class="external-link">TestMajorCompactorTTL</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/compaction/TestMajorCompactor.html" title="class or interface in org.apache.hadoop.hbase.util.compaction" class="external-link">TestMajorCompactor</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMalformedCellFromClient.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMalformedCellFromClient</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/compaction/TestMajorCompactorTTL.html" title="class or interface in org.apache.hadoop.hbase.util.compaction" class="external-link">TestMajorCompactorTTL</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMalformedCellFromClient.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMalformedCellFromClient</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">The purpose of this test is to ensure whether rs deals with the malformed cells correctly.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMapReduceExamples.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMapReduceExamples</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMaster.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMaster</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMapReduceExamples.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMapReduceExamples</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterAbortAndRSGotKilled.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterAbortAndRSGotKilled</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMaster.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMaster</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterAbortAndRSGotKilled.DelayCloseCP.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterAbortAndRSGotKilled.DelayCloseCP</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterAbortAndRSGotKilled.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterAbortAndRSGotKilled</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestMasterAddressTracker.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestMasterAddressTracker</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterAbortAndRSGotKilled.DelayCloseCP.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterAbortAndRSGotKilled.DelayCloseCP</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestMasterAddressTracker.NodeCreationListener.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestMasterAddressTracker.NodeCreationListener</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestMasterAddressTracker.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestMasterAddressTracker</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterBalancerNPE.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterBalancerNPE</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestMasterAddressTracker.NodeCreationListener.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestMasterAddressTracker.NodeCreationListener</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterBalanceThrottling.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterBalanceThrottling</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterBalancerNPE.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterBalancerNPE</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterChoreScheduled.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterChoreScheduled</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterBalanceThrottling.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterBalanceThrottling</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterChoreScheduled.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterChoreScheduled</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests to validate if HMaster default chores are scheduled</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterCoprocessorExceptionWithAbort</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterCoprocessorExceptionWithAbort</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests unhandled exceptions thrown by coprocessors running on master.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.BuggyMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterCoprocessorExceptionWithAbort.BuggyMasterObserver</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.CreateTableThread.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterCoprocessorExceptionWithAbort.CreateTableThread</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.BuggyMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterCoprocessorExceptionWithAbort.BuggyMasterObserver</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.MasterTracker.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterCoprocessorExceptionWithAbort.MasterTracker</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.CreateTableThread.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterCoprocessorExceptionWithAbort.CreateTableThread</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterCoprocessorExceptionWithRemove</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.MasterTracker.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterCoprocessorExceptionWithAbort.MasterTracker</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterCoprocessorExceptionWithRemove</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests unhandled exceptions thrown by coprocessors running on master.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.BuggyMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterCoprocessorExceptionWithRemove.BuggyMasterObserver</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.MasterTracker.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterCoprocessorExceptionWithRemove.MasterTracker</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.BuggyMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterCoprocessorExceptionWithRemove.BuggyMasterObserver</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterCoprocessorServices.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterCoprocessorServices</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.MasterTracker.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterCoprocessorExceptionWithRemove.MasterTracker</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterCoprocessorServices.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterCoprocessorServices</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests that the MasterRpcServices is correctly searching for implementations of the Coprocessor
Service and not just the "default" implementations of those services.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterDryRunBalancer.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterDryRunBalancer</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterFailover.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterFailover</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterDryRunBalancer.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterDryRunBalancer</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterFailoverBalancerPersistence.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterFailoverBalancerPersistence</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterFailover.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterFailover</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestMasterFifoRpcScheduler.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestMasterFifoRpcScheduler</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterFailoverBalancerPersistence.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterFailoverBalancerPersistence</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterFileSystem.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterFileSystem</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestMasterFifoRpcScheduler.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestMasterFifoRpcScheduler</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterFileSystem.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterFileSystem</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test the master filesystem in a local cluster</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterFileSystemWithStoreFileTracking.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterFileSystemWithStoreFileTracking</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterFileSystemWithStoreFileTracking.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterFileSystemWithStoreFileTracking</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test the master filesystem in a local cluster with Store File Tracking explicitly set in global
config</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterFileSystemWithWALDir.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterFileSystemWithWALDir</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterFileSystemWithWALDir.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterFileSystemWithWALDir</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test the master filesystem in a local cluster</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterHandlerFullWhenTransitRegion.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterHandlerFullWhenTransitRegion</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterHandlerFullWhenTransitRegion.DelayOpenCP.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterHandlerFullWhenTransitRegion.DelayOpenCP</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterHandlerFullWhenTransitRegion.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterHandlerFullWhenTransitRegion</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterHandlerFullWhenTransitRegion.DelayOpenCP.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterHandlerFullWhenTransitRegion.DelayOpenCP</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Make open region very slow</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterMetrics.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterMetrics</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterMetrics.MyMaster.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterMetrics.MyMaster</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterMetrics.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterMetrics</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterMetrics.MyRegionServer.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterMetrics.MyRegionServer</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterMetrics.MyMaster.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterMetrics.MyMaster</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterMetricsWrapper</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterMetrics.MyRegionServer.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterMetrics.MyRegionServer</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterNoCluster.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterNoCluster</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterMetricsWrapper</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterNoCluster.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterNoCluster</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Standup the master and fake it to test various aspects of master function.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterObserver</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterObserver</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests invocation of the <a href="../apidocs/org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link"><code>MasterObserver</code></a> interface
hooks at all appropriate times during normal HMaster operations.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterObserver.CPMasterObserver</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserverToModifyTableSchema.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterObserverToModifyTableSchema</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterObserver.CPMasterObserver</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserverToModifyTableSchema.OnlyOneVersionAllowedMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterObserverToModifyTableSchema.OnlyOneVersionAllowedMasterObserver</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserverToModifyTableSchema.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterObserverToModifyTableSchema</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterOperationsForRegionReplicas.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterOperationsForRegionReplicas</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserverToModifyTableSchema.OnlyOneVersionAllowedMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMasterObserverToModifyTableSchema.OnlyOneVersionAllowedMasterObserver</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterQosFunction.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterQosFunction</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterOperationsForRegionReplicas.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterOperationsForRegionReplicas</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestMasterQuotaManager.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestMasterQuotaManager</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterQosFunction.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterQosFunction</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestMasterQuotasObserver.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestMasterQuotasObserver</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestMasterQuotaManager.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestMasterQuotaManager</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestMasterQuotasObserver.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestMasterQuotasObserver</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for <a href="../apidocs/org/apache/hadoop/hbase/quotas/MasterQuotasObserver.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link"><code>MasterQuotasObserver</code></a>.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestMasterQuotasObserverWithMocks.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestMasterQuotasObserverWithMocks</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestMasterQuotasObserverWithMocks.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestMasterQuotasObserverWithMocks</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for MasterQuotasObserver that does not require a cluster.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterRegionMutation1.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterRegionMutation1</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterRegionMutation1.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterRegionMutation1</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">MasterRegion related test that ensures the operations continue even when Procedure state update
encounters retriable IO errors.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterRegionMutation1.TestRegion.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterRegionMutation1.TestRegion</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterRegionMutation2.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterRegionMutation2</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterRegionMutation1.TestRegion.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterRegionMutation1.TestRegion</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterRegionMutation2.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterRegionMutation2</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">MasterRegion related test that ensures the operations continue even when Procedure state update
encounters non-retriable IO errors.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterRegionMutation2.TestRegion.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterRegionMutation2.TestRegion</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMasterRegistry.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMasterRegistry</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterRegionMutation2.TestRegion.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterRegionMutation2.TestRegion</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterRepairMode.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterRepairMode</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMasterRegistry.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMasterRegistry</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestMasterReplication.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestMasterReplication</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterRepairMode.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterRepairMode</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestMasterReplication.CoprocessorCounter.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestMasterReplication.CoprocessorCounter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestMasterReplication.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestMasterReplication</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestMasterReplication.CoprocessorCounter.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestMasterReplication.CoprocessorCounter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Use a coprocessor to count puts and deletes.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterRestartAfterDisablingTable.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterRestartAfterDisablingTable</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterShutdown.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterShutdown</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterRestartAfterDisablingTable.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterRestartAfterDisablingTable</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterTransitions.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterTransitions</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterShutdown.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterShutdown</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterTransitions.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterTransitions</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test transitions of state across the master.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterUseIp.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterUseIp</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMaxResultsPerColumnFamily.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMaxResultsPerColumnFamily</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMasterUseIp.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMasterUseIp</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestMemcachedBlockCache.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestMemcachedBlockCache</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMaxResultsPerColumnFamily.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMaxResultsPerColumnFamily</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/util/TestMemorySizeUtil.html" title="class or interface in org.apache.hadoop.hbase.io.util" class="external-link">TestMemorySizeUtil</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestMemcachedBlockCache.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestMemcachedBlockCache</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMemStoreChunkPool</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/util/TestMemorySizeUtil.html" title="class or interface in org.apache.hadoop.hbase.io.util" class="external-link">TestMemorySizeUtil</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMemStoreChunkPool</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test the <a href="../apidocs/org/apache/hadoop/hbase/regionserver/ChunkCreator.MemStoreChunkPool.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link"><code>ChunkCreator.MemStoreChunkPool</code></a> class</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMemStoreFlusher.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMemStoreFlusher</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMemStoreLAB.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMemStoreLAB</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMemStoreFlusher.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMemStoreFlusher</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMemstoreLABWithoutPool.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMemstoreLABWithoutPool</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMemStoreLAB.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMemStoreLAB</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMemStoreSegmentsIterator.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMemStoreSegmentsIterator</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMemstoreLABWithoutPool.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMemstoreLABWithoutPool</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMemStoreSegmentsIterator.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMemStoreSegmentsIterator</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test the <a href="../apidocs/org/apache/hadoop/hbase/regionserver/MemStoreCompactorSegmentsIterator.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link"><code>MemStoreCompactorSegmentsIterator</code></a> and <a href="../apidocs/org/apache/hadoop/hbase/regionserver/MemStoreMergerSegmentsIterator.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link"><code>MemStoreMergerSegmentsIterator</code></a>
class, Test for bug : HBASE-22324</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMergesSplitsAddToTracker.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMergesSplitsAddToTracker</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMergeTableRegionsWhileRSCrash.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMergeTableRegionsWhileRSCrash</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMergesSplitsAddToTracker.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMergesSplitsAddToTracker</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/screen/top/TestMessageModeScreenPresenter.html" title="class or interface in org.apache.hadoop.hbase.hbtop.screen.top" class="external-link">TestMessageModeScreenPresenter</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMergeTableRegionsWhileRSCrash.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMergeTableRegionsWhileRSCrash</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMetaAssignmentWithStopMaster.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMetaAssignmentWithStopMaster</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/screen/top/TestMessageModeScreenPresenter.html" title="class or interface in org.apache.hadoop.hbase.hbtop.screen.top" class="external-link">TestMessageModeScreenPresenter</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaCache.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaCache</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMetaAssignmentWithStopMaster.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMetaAssignmentWithStopMaster</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaCache.CallQueueTooBigExceptionInjector.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaCache.CallQueueTooBigExceptionInjector</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaCache.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaCache</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaCache.CallQueueTooBigExceptionInjector.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaCache.CallQueueTooBigExceptionInjector</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Throws CallQueueTooBigException for all gets.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaCache.ExceptionInjector.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaCache.ExceptionInjector</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaCache.FakeRSRpcServices.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaCache.FakeRSRpcServices</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaCache.ExceptionInjector.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaCache.ExceptionInjector</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaCache.RegionServerWithFakeRpcServices.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaCache.RegionServerWithFakeRpcServices</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaCache.FakeRSRpcServices.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaCache.FakeRSRpcServices</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaCache.RoundRobinExceptionInjector.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaCache.RoundRobinExceptionInjector</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaCache.RegionServerWithFakeRpcServices.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaCache.RegionServerWithFakeRpcServices</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaCache.RoundRobinExceptionInjector.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaCache.RoundRobinExceptionInjector</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Rotates through the possible cache clearing and non-cache clearing exceptions for requests.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaRegionLocationCache.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaRegionLocationCache</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaReplicasAddressChange.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaReplicasAddressChange</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaRegionLocationCache.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaRegionLocationCache</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMetaShutdownHandler.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMetaShutdownHandler</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaReplicasAddressChange.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaReplicasAddressChange</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMetaShutdownHandler.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMetaShutdownHandler</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests handling of meta-carrying region server failover.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMetaShutdownHandler.MyRegionServer.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMetaShutdownHandler.MyRegionServer</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestMetaTableAccessor.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestMetaTableAccessor</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMetaShutdownHandler.MyRegionServer.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMetaShutdownHandler.MyRegionServer</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestMetaTableAccessor.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestMetaTableAccessor</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test <a href="../apidocs/org/apache/hadoop/hbase/MetaTableAccessor.html" title="class or interface in org.apache.hadoop.hbase" class="external-link"><code>MetaTableAccessor</code></a>.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestMetaTableAccessor.SpyingRpcScheduler.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestMetaTableAccessor.SpyingRpcScheduler</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestMetaTableAccessor.SpyingRpcSchedulerFactory.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestMetaTableAccessor.SpyingRpcSchedulerFactory</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestMetaTableAccessor.SpyingRpcScheduler.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestMetaTableAccessor.SpyingRpcScheduler</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaTableAccessorNoCluster.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaTableAccessorNoCluster</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestMetaTableAccessor.SpyingRpcSchedulerFactory.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestMetaTableAccessor.SpyingRpcSchedulerFactory</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaTableAccessorNoCluster.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaTableAccessorNoCluster</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test MetaTableAccessor but without spinning up a cluster.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestMetaTableLocator.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestMetaTableLocator</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestMetaTableLocator.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestMetaTableLocator</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test <a href="../apidocs/org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link"><code>MetaTableLocator</code></a></div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMetaTableMetrics.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMetaTableMetrics</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestMetaUpdatesGoToPriorityQueue.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestMetaUpdatesGoToPriorityQueue</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestMetaTableMetrics.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestMetaTableMetrics</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaWithReplicasBasic.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaWithReplicasBasic</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestMetaUpdatesGoToPriorityQueue.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestMetaUpdatesGoToPriorityQueue</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaWithReplicasShutdownHandling.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaWithReplicasShutdownHandling</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/metrics/TestMetricRegistriesLoader.html" title="class or interface in org.apache.hadoop.hbase.metrics" class="external-link">TestMetricRegistriesLoader</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Test class for <a href="../apidocs/org/apache/hadoop/hbase/metrics/MetricRegistriesLoader.html" title="class or interface in org.apache.hadoop.hbase.metrics" class="external-link"><code>MetricRegistriesLoader</code></a>.</div>
-</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetricsConnection.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetricsConnection</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaWithReplicasBasic.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaWithReplicasBasic</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/metrics/TestMetricsExportHelper.html" title="class or interface in org.apache.hadoop.hbase.metrics" class="external-link">TestMetricsExportHelper</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetaWithReplicasShutdownHandling.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetaWithReplicasShutdownHandling</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsHeapMemoryManager.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsHeapMemoryManager</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/metrics/TestMetricRegistriesLoader.html" title="class or interface in org.apache.hadoop.hbase.metrics" class="external-link">TestMetricRegistriesLoader</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Unit test version of rs metrics tests.</div>
+<div class="block">Test class for <a href="../apidocs/org/apache/hadoop/hbase/metrics/MetricRegistriesLoader.html" title="class or interface in org.apache.hadoop.hbase.metrics" class="external-link"><code>MetricRegistriesLoader</code></a>.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestMetricsIO.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestMetricsIO</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMetricsConnection.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMetricsConnection</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsJvm.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsJvm</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/metrics/TestMetricsExportHelper.html" title="class or interface in org.apache.hadoop.hbase.metrics" class="external-link">TestMetricsExportHelper</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMetricsMasterProcSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMetricsMasterProcSourceImpl</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsHeapMemoryManager.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsHeapMemoryManager</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Test for MetricsMasterProcSourceImpl</div>
+<div class="block">Unit test version of rs metrics tests.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMetricsMasterSourceFactory.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMetricsMasterSourceFactory</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestMetricsIO.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestMetricsIO</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsJvm.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsJvm</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMetricsMasterProcSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMetricsMasterProcSourceImpl</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Test for the CompatibilitySingletonFactory and building MetricsMasterSource</div>
+<div class="block">Test for MetricsMasterProcSourceImpl</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMetricsMasterSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMetricsMasterSourceImpl</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMetricsMasterSourceFactory.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMetricsMasterSourceFactory</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Test for the CompatibilitySingletonFactory and building MetricsMasterSource</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMetricsMasterSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMetricsMasterSourceImpl</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test for MetricsMasterSourceImpl</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsRegion.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsRegion</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsRegionServer</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsRegion.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsRegion</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsRegionServer</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Unit test version of rs metrics tests.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerAggregate.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsRegionServerAggregate</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerSourceFactory.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsRegionServerSourceFactory</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerAggregate.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsRegionServerAggregate</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerSourceFactory.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsRegionServerSourceFactory</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test for the CompatibilitySingletonFactory and building MetricsRegionServerSource</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsRegionServerSourceImpl</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsRegionSourceImpl</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsRegionServerSourceImpl</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestMetricsRESTSource.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestMetricsRESTSource</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsRegionSourceImpl</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestMetricsRESTSource.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestMetricsRESTSource</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test of Rest Metrics Source interface.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestMetricsRESTSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestMetricsRESTSourceImpl</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestMetricsRESTSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestMetricsRESTSourceImpl</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test for hadoop 2's version of <a href="../apidocs/org/apache/hadoop/hbase/rest/MetricsRESTSource.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link"><code>MetricsRESTSource</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsTableAggregate.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsTableAggregate</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsTableMetricsMap.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsTableMetricsMap</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsTableAggregate.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsTableAggregate</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsTableRequests.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsTableRequests</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsTableMetricsMap.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsTableMetricsMap</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsTableSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsTableSourceImpl</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsTableRequests.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsTableRequests</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsTableSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsTableSourceImpl</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test for MetricsTableSourceImpl</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/thrift/TestMetricsThriftServerSourceFactory.html" title="class or interface in org.apache.hadoop.hbase.thrift" class="external-link">TestMetricsThriftServerSourceFactory</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/thrift/TestMetricsThriftServerSourceFactory.html" title="class or interface in org.apache.hadoop.hbase.thrift" class="external-link">TestMetricsThriftServerSourceFactory</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test for the interface of MetricsThriftServerSourceFactory</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/thrift/TestMetricsThriftServerSourceFactoryImpl.html" title="class or interface in org.apache.hadoop.hbase.thrift" class="external-link">TestMetricsThriftServerSourceFactoryImpl</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/thrift/TestMetricsThriftServerSourceFactoryImpl.html" title="class or interface in org.apache.hadoop.hbase.thrift" class="external-link">TestMetricsThriftServerSourceFactoryImpl</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test for hadoop 2's version of MetricsThriftServerSourceFactory.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/metrics/TestMetricsThrottleExceptions.html" title="class or interface in org.apache.hadoop.hbase.regionserver.metrics" class="external-link">TestMetricsThrottleExceptions</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsUserAggregate.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsUserAggregate</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/metrics/TestMetricsThrottleExceptions.html" title="class or interface in org.apache.hadoop.hbase.regionserver.metrics" class="external-link">TestMetricsThrottleExceptions</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsUserSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsUserSourceImpl</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsUserAggregate.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsUserAggregate</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestMetricsWAL</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMetricsUserSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMetricsUserSourceImpl</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSource.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestMetricsWALSource</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestMetricsWAL</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestMetricsWALSourceImpl</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSource.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestMetricsWALSource</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestMetricsZooKeeperSource.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestMetricsZooKeeperSource</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestMetricsWALSourceImpl</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestMetricsZooKeeperSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestMetricsZooKeeperSourceImpl</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestMetricsZooKeeperSource.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestMetricsZooKeeperSource</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMigrateAndMirrorMetaLocations.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMigrateAndMirrorMetaLocations</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestMetricsZooKeeperSourceImpl.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestMetricsZooKeeperSourceImpl</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMigrateAndMirrorMetaLocations.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMigrateAndMirrorMetaLocations</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testcase for HBASE-26193.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMigrateNamespaceTable.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMigrateNamespaceTable</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMigrateNamespaceTable.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMigrateNamespaceTable</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testcase for HBASE-21154.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMigrateNamespaceTable.SuspendProcedure.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMigrateNamespaceTable.SuspendProcedure</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestMigrateRepliationPeerStorageOnline.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestMigrateRepliationPeerStorageOnline</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestMigrateNamespaceTable.SuspendProcedure.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestMigrateNamespaceTable.SuspendProcedure</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rsgroup/TestMigrateRSGroupInfo.html" title="class or interface in org.apache.hadoop.hbase.rsgroup" class="external-link">TestMigrateRSGroupInfo</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestMigrateRepliationPeerStorageOnline.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestMigrateRepliationPeerStorageOnline</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rsgroup/TestMigrateRSGroupInfo.html" title="class or interface in org.apache.hadoop.hbase.rsgroup" class="external-link">TestMigrateRSGroupInfo</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testcase for HBASE-22819</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rsgroup/TestMigrateRSGroupInfo.HMasterForTest.html" title="class or interface in org.apache.hadoop.hbase.rsgroup" class="external-link">TestMigrateRSGroupInfo.HMasterForTest</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/storefiletracker/TestMigrationStoreFileTracker.html" title="class or interface in org.apache.hadoop.hbase.regionserver.storefiletracker" class="external-link">TestMigrationStoreFileTracker</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rsgroup/TestMigrateRSGroupInfo.HMasterForTest.html" title="class or interface in org.apache.hadoop.hbase.rsgroup" class="external-link">TestMigrateRSGroupInfo.HMasterForTest</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMiniBatchOperationInProgress.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMiniBatchOperationInProgress</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/storefiletracker/TestMigrationStoreFileTracker.html" title="class or interface in org.apache.hadoop.hbase.regionserver.storefiletracker" class="external-link">TestMigrationStoreFileTracker</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestMiniClusterLoadEncoded.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestMiniClusterLoadEncoded</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Runs a load test on a mini HBase cluster with data block encoding turned on.</div>
-</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestMiniClusterLoadParallel.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestMiniClusterLoadParallel</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMiniBatchOperationInProgress.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMiniBatchOperationInProgress</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestMiniClusterLoadEncoded.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestMiniClusterLoadEncoded</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">A write/read/verify load test on a mini HBase cluster.</div>
+<div class="block">Runs a load test on a mini HBase cluster with data block encoding turned on.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestMiniClusterLoadSequential</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestMiniClusterLoadParallel.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestMiniClusterLoadParallel</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">A write/read/verify load test on a mini HBase cluster.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMinorCompaction.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMinorCompaction</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestMiniClusterLoadSequential</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Test minor compactions</div>
+<div class="block">A write/read/verify load test on a mini HBase cluster.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMinorCompaction.MyCompactionPolicy.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMinorCompaction.MyCompactionPolicy</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMinVersions.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMinVersions</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Test Minimum Versions feature (HBASE-4071).</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMinorCompaction.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMinorCompaction</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Test minor compactions</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClientAfterSplittingRegion.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobCloneSnapshotFromClientAfterSplittingRegion</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClientCloneLinksAfterDelete.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobCloneSnapshotFromClientCloneLinksAfterDelete</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMinorCompaction.MyCompactionPolicy.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMinorCompaction.MyCompactionPolicy</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClientCloneLinksAfterDelete.DelayFlushCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobCloneSnapshotFromClientCloneLinksAfterDelete.DelayFlushCoprocessor</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMinVersions.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMinVersions</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">This coprocessor is used to delay the flush.</div>
+<div class="block">Test Minimum Versions feature (HBASE-4071).</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClientError.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobCloneSnapshotFromClientError</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClientAfterSplittingRegion.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobCloneSnapshotFromClientAfterSplittingRegion</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClientNormal.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobCloneSnapshotFromClientNormal</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClientCloneLinksAfterDelete.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobCloneSnapshotFromClientCloneLinksAfterDelete</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobCompactionOptMode.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobCompactionOptMode</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClientCloneLinksAfterDelete.DelayFlushCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobCloneSnapshotFromClientCloneLinksAfterDelete.DelayFlushCoprocessor</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Mob file compaction chore in a generational non-batch mode test.</div>
+<div class="block">This coprocessor is used to delay the flush.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobCompactionOptRegionBatchMode.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobCompactionOptRegionBatchMode</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClientError.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobCloneSnapshotFromClientError</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClientNormal.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobCloneSnapshotFromClientNormal</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobCompactionOptMode.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobCompactionOptMode</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Mob file compaction chore in a generational batch mode test.</div>
+<div class="block">Mob file compaction chore in a generational non-batch mode test.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobCompactionRegularRegionBatchMode.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobCompactionRegularRegionBatchMode</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobCompactionOptRegionBatchMode.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobCompactionOptRegionBatchMode</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Mob file compaction chore in a regular batch mode test.</div>
+<div class="block">Mob file compaction chore in a generational batch mode test.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobCompactionWithDefaults.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobCompactionWithDefaults</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobCompactionRegularRegionBatchMode.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobCompactionRegularRegionBatchMode</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Mob file compaction chore in a regular batch mode test.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobCompactionWithDefaults.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobCompactionWithDefaults</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Mob file compaction base test.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobCompactionWithException.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobCompactionWithException</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobCompactionWithException.MyMobStoreCompactor.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobCompactionWithException.MyMobStoreCompactor</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobCompactionWithException.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobCompactionWithException</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobDataBlockEncoding.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobDataBlockEncoding</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/snapshot/TestMobExportSnapshot.html" title="class or interface in org.apache.hadoop.hbase.snapshot" class="external-link">TestMobExportSnapshot</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Test Export Snapshot Tool</div>
-</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobFile.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobFile</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobCompactionWithException.MyMobStoreCompactor.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobCompactionWithException.MyMobStoreCompactor</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobFileCache.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobFileCache</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobDataBlockEncoding.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobDataBlockEncoding</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobFileCleanupUtil.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobFileCleanupUtil</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/snapshot/TestMobExportSnapshot.html" title="class or interface in org.apache.hadoop.hbase.snapshot" class="external-link">TestMobExportSnapshot</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Mob file cleaner chore test.</div>
+<div class="block">Test Export Snapshot Tool</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobFileLink.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobFileLink</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobFile.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobFile</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobFileName.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobFileName</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobFileCache.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobFileCache</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/snapshot/TestMobFlushSnapshotFromClient.html" title="class or interface in org.apache.hadoop.hbase.snapshot" class="external-link">TestMobFlushSnapshotFromClient</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobFileCleanupUtil.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobFileCleanupUtil</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Test creating/using/deleting snapshots from the client</div>
+<div class="block">Mob file cleaner chore test.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/snapshot/TestMobRestoreFlushSnapshotFromClient.html" title="class or interface in org.apache.hadoop.hbase.snapshot" class="external-link">TestMobRestoreFlushSnapshotFromClient</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobFileLink.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobFileLink</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobFileName.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobFileName</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/snapshot/TestMobFlushSnapshotFromClient.html" title="class or interface in org.apache.hadoop.hbase.snapshot" class="external-link">TestMobFlushSnapshotFromClient</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Test creating/using/deleting snapshots from the client</div>
+</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/snapshot/TestMobRestoreFlushSnapshotFromClient.html" title="class or interface in org.apache.hadoop.hbase.snapshot" class="external-link">TestMobRestoreFlushSnapshotFromClient</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test clone/restore snapshots from the client TODO This is essentially a clone of
TestRestoreSnapshotFromClient.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientAfterSplittingRegions.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobRestoreSnapshotFromClientAfterSplittingRegions</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientAfterTruncate.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobRestoreSnapshotFromClientAfterTruncate</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientAfterSplittingRegions.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobRestoreSnapshotFromClientAfterSplittingRegions</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientClone.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobRestoreSnapshotFromClientClone</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientAfterTruncate.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobRestoreSnapshotFromClientAfterTruncate</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientGetCompactionState.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobRestoreSnapshotFromClientGetCompactionState</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientClone.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobRestoreSnapshotFromClientClone</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientSchemaChange.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobRestoreSnapshotFromClientSchemaChange</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientGetCompactionState.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobRestoreSnapshotFromClientGetCompactionState</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientSimple.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobRestoreSnapshotFromClientSimple</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientSchemaChange.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobRestoreSnapshotFromClientSchemaChange</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/snapshot/TestMobRestoreSnapshotHelper.html" title="class or interface in org.apache.hadoop.hbase.snapshot" class="external-link">TestMobRestoreSnapshotHelper</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientSimple.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobRestoreSnapshotFromClientSimple</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/snapshot/TestMobRestoreSnapshotHelper.html" title="class or interface in org.apache.hadoop.hbase.snapshot" class="external-link">TestMobRestoreSnapshotHelper</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test the restore/clone operation from a file-system point of view.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/snapshot/TestMobSecureExportSnapshot.html" title="class or interface in org.apache.hadoop.hbase.snapshot" class="external-link">TestMobSecureExportSnapshot</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/snapshot/TestMobSecureExportSnapshot.html" title="class or interface in org.apache.hadoop.hbase.snapshot" class="external-link">TestMobSecureExportSnapshot</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Reruns TestMobExportSnapshot using MobExportSnapshot in secure mode.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobSnapshotCloneIndependence.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobSnapshotCloneIndependence</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobSnapshotCloneIndependence.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobSnapshotCloneIndependence</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test to verify that the cloned table is independent of the table from which it was cloned</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobSnapshotFromClient.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobSnapshotFromClient</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMobSnapshotFromClient.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMobSnapshotFromClient</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test create/using/deleting snapshots from the client</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobStoreCompaction.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobStoreCompaction</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobStoreCompaction.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobStoreCompaction</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test mob store compaction</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobStoreScanner.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobStoreScanner</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobUtils.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobUtils</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobStoreScanner.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobStoreScanner</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobWithByteBuffAllocator.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobWithByteBuffAllocator</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobUtils.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobUtils</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mob/TestMobWithByteBuffAllocator.html" title="class or interface in org.apache.hadoop.hbase.mob" class="external-link">TestMobWithByteBuffAllocator</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test the MOB feature when enable RPC ByteBuffAllocator (HBASE-22122)</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/mode/TestModeBase.html" title="class or interface in org.apache.hadoop.hbase.hbtop.mode" class="external-link">TestModeBase</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/screen/mode/TestModeScreenPresenter.html" title="class or interface in org.apache.hadoop.hbase.hbtop.screen.mode" class="external-link">TestModeScreenPresenter</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/mode/TestModeBase.html" title="class or interface in org.apache.hadoop.hbase.hbtop.mode" class="external-link">TestModeBase</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestMovedRegionCache.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestMovedRegionCache</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/screen/mode/TestModeScreenPresenter.html" title="class or interface in org.apache.hadoop.hbase.hbtop.screen.mode" class="external-link">TestModeScreenPresenter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestMovedRegionCache.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestMovedRegionCache</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test whether moved region cache is correct</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestMovingAverage.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestMovingAverage</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMRIncrementalLoad.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMRIncrementalLoad</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestMovingAverage.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestMovingAverage</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMRIncrementalLoadWithLocality.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMRIncrementalLoadWithLocality</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMRIncrementalLoad.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMRIncrementalLoad</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMultiActionMetricsFromClient.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMultiActionMetricsFromClient</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMRIncrementalLoadWithLocality.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMRIncrementalLoadWithLocality</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/nio/TestMultiByteBuff.html" title="class or interface in org.apache.hadoop.hbase.nio" class="external-link">TestMultiByteBuff</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMultiActionMetricsFromClient.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMultiActionMetricsFromClient</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestMultiByteBuffInputStream.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestMultiByteBuffInputStream</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/nio/TestMultiByteBuff.html" title="class or interface in org.apache.hadoop.hbase.nio" class="external-link">TestMultiByteBuff</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiColumnScanner</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Tests optimized scanning of multiple columns.</div>
-</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiColumnScannerWithAlgoGZAndNoDataEncoding.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiColumnScannerWithAlgoGZAndNoDataEncoding</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/TestMultiByteBuffInputStream.html" title="class or interface in org.apache.hadoop.hbase.io" class="external-link">TestMultiByteBuffInputStream</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiColumnScanner</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Test case for Compression.Algorithm.GZ and no use data block encoding.</div>
+<div class="block">Tests optimized scanning of multiple columns.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiColumnScannerWithAlgoGZAndUseDataEncoding.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiColumnScannerWithAlgoGZAndUseDataEncoding</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiColumnScannerWithAlgoGZAndNoDataEncoding.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiColumnScannerWithAlgoGZAndNoDataEncoding</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Test case for Compression.Algorithm.GZ and use data block encoding.</div>
+<div class="block">Test case for Compression.Algorithm.GZ and no use data block encoding.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiColumnScannerWithNoneAndNoDataEncoding.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiColumnScannerWithNoneAndNoDataEncoding</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiColumnScannerWithAlgoGZAndUseDataEncoding.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiColumnScannerWithAlgoGZAndUseDataEncoding</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Test case for Compression.Algorithm.NONE and no use data block encoding.</div>
+<div class="block">Test case for Compression.Algorithm.GZ and use data block encoding.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiColumnScannerWithNoneAndUseDataEncoding.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiColumnScannerWithNoneAndUseDataEncoding</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiColumnScannerWithNoneAndNoDataEncoding.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiColumnScannerWithNoneAndNoDataEncoding</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test case for Compression.Algorithm.NONE and no use data block encoding.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiLogThreshold</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiColumnScannerWithNoneAndUseDataEncoding.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiColumnScannerWithNoneAndUseDataEncoding</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Test case for Compression.Algorithm.NONE and no use data block encoding.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiLogThreshold</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests logging of large batch commands via Multi.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMultiParallel.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMultiParallel</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMultiParallel.MyMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMultiParallel.MyMasterObserver</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMultiParallel.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMultiParallel</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestMultipleColumnPrefixFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestMultipleColumnPrefixFilter</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMultiParallel.MyMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMultiParallel.MyMasterObserver</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestMultipleServerPrincipalsFallbackToSimple.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestMultipleServerPrincipalsFallbackToSimple</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestMultipleColumnPrefixFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestMultipleColumnPrefixFilter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestMultipleServerPrincipalsFallbackToSimple.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestMultipleServerPrincipalsFallbackToSimple</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test secure client connecting to a non secure server, where we have multiple server principal
candidates for a rpc service.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestMultipleServerPrincipalsIPC.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestMultipleServerPrincipalsIPC</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestMultipleServerPrincipalsIPC.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestMultipleServerPrincipalsIPC</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests for HBASE-28321, where we have multiple server principals candidates for a rpc service.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMultipleTimestamps.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMultipleTimestamps</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMultipleTimestamps.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMultipleTimestamps</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Run tests related to <a href="../apidocs/org/apache/hadoop/hbase/filter/TimestampsFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link"><code>TimestampsFilter</code></a> using HBase client
APIs.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMultiRespectsLimits.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMultiRespectsLimits</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMultiRespectsLimits.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMultiRespectsLimits</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This test sets the multi size WAAAAAY low and then checks to make sure that gets will still make
progress.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestMultiRowRangeFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestMultiRowRangeFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestMultiRowResource.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestMultiRowResource</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestMultiRowRangeFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestMultiRowRangeFilter</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestMultiSlaveReplication.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestMultiSlaveReplication</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestMultiRowResource.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestMultiRowResource</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultiTableInputFormat</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestMultiSlaveReplication.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestMultiSlaveReplication</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultiTableInputFormat</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests various scan start and stop row scenarios.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultiTableInputFormatBase</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultiTableInputFormatBase</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests of MultiTableInputFormatBase.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultiTableInputFormatBase.MRSplitsConnection</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultiTableInputFormatBase.MRSplitsConnection</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Connection to use above in Test.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapred/TestMultiTableSnapshotInputFormat.html" title="class or interface in org.apache.hadoop.hbase.mapred" class="external-link">TestMultiTableSnapshotInputFormat</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultiTableSnapshotInputFormat</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapred/TestMultiTableSnapshotInputFormat.html" title="class or interface in org.apache.hadoop.hbase.mapred" class="external-link">TestMultiTableSnapshotInputFormat</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapred/TestMultiTableSnapshotInputFormat.Mapper.html" title="class or interface in org.apache.hadoop.hbase.mapred" class="external-link">TestMultiTableSnapshotInputFormat.Mapper</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultiTableSnapshotInputFormat</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapred/TestMultiTableSnapshotInputFormat.Reducer.html" title="class or interface in org.apache.hadoop.hbase.mapred" class="external-link">TestMultiTableSnapshotInputFormat.Reducer</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapred/TestMultiTableSnapshotInputFormat.Mapper.html" title="class or interface in org.apache.hadoop.hbase.mapred" class="external-link">TestMultiTableSnapshotInputFormat.Mapper</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultiTableSnapshotInputFormatImpl</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapred/TestMultiTableSnapshotInputFormat.Reducer.html" title="class or interface in org.apache.hadoop.hbase.mapred" class="external-link">TestMultiTableSnapshotInputFormat.Reducer</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.ScanWithEquals.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultiTableSnapshotInputFormatImpl.ScanWithEquals</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultiTableSnapshotInputFormatImpl</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/example/TestMultiThreadedClientExample.html" title="class or interface in org.apache.hadoop.hbase.client.example" class="external-link">TestMultiThreadedClientExample</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.ScanWithEquals.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultiTableSnapshotInputFormatImpl.ScanWithEquals</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultithreadedTableMapper.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultithreadedTableMapper</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/example/TestMultiThreadedClientExample.html" title="class or interface in org.apache.hadoop.hbase.client.example" class="external-link">TestMultiThreadedClientExample</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultithreadedTableMapper.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultithreadedTableMapper</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test Map/Reduce job over HBase tables.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultithreadedTableMapper.ProcessContentsMapper.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultithreadedTableMapper.ProcessContentsMapper</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/mapreduce/TestMultithreadedTableMapper.ProcessContentsMapper.html" title="class or interface in org.apache.hadoop.hbase.mapreduce" class="external-link">TestMultithreadedTableMapper.ProcessContentsMapper</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Pass the given key and processed record reduce</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiVersionConcurrencyControl.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiVersionConcurrencyControl</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiVersionConcurrencyControl.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiVersionConcurrencyControl</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This is a hammer test that verifies MultiVersionConcurrencyControl in a multiple writer single
reader scenario.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiVersionConcurrencyControlBasic.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiVersionConcurrencyControlBasic</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMultiVersionConcurrencyControlBasic.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMultiVersionConcurrencyControlBasic</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Very basic tests.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestMultiVersions.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestMultiVersions</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestMultiVersions.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestMultiVersions</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Port of old TestScanMultipleVersions, TestTimestamp and TestGetRowVersions from old testing
framework to <a href="../apidocs/org/apache/hadoop/hbase/HBaseTestingUtil.html" title="class or interface in org.apache.hadoop.hbase" class="external-link"><code>HBaseTestingUtil</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMutateRowsRecovery.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMutateRowsRecovery</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMutation.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMutation</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestMutateRowsRecovery.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestMutateRowsRecovery</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMutationGetCellBuilder.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMutationGetCellBuilder</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMutation.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMutation</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestMutualTlsClientSide.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestMutualTlsClientSide</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMutationGetCellBuilder.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMutationGetCellBuilder</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestMutualTlsClientSide.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestMutualTlsClientSide</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Comprehensively tests all permutations of certificate and host verification on the client side.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestMutualTlsClientSideNonLocalhost.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestMutualTlsClientSideNonLocalhost</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestMutualTlsClientSideNonLocalhost.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestMutualTlsClientSideNonLocalhost</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests for client-side mTLS focusing on client hostname verification in the case when client and
server are on different hosts.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestMutualTlsServerSide.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestMutualTlsServerSide</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestMutualTlsServerSide.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestMutualTlsServerSide</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Comprehensively tests all permutations of ClientAuth modes and host verification
enabled/disabled.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMvccConsistentScanner.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMvccConsistentScanner</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/namequeues/TestNamedQueueRecorder.html" title="class or interface in org.apache.hadoop.hbase.namequeues" class="external-link">TestNamedQueueRecorder</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestMvccConsistentScanner.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestMvccConsistentScanner</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/namequeues/TestNamedQueueRecorder.html" title="class or interface in org.apache.hadoop.hbase.namequeues" class="external-link">TestNamedQueueRecorder</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests for Online SlowLog Provider Service</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestNamespace.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestNamespace</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.html" title="class or interface in org.apache.hadoop.hbase.namespace" class="external-link">TestNamespaceAuditor</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestNamespace.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestNamespace</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.CPMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.namespace" class="external-link">TestNamespaceAuditor.CPMasterObserver</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.html" title="class or interface in org.apache.hadoop.hbase.namespace" class="external-link">TestNamespaceAuditor</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.CPRegionServerObserver.html" title="class or interface in org.apache.hadoop.hbase.namespace" class="external-link">TestNamespaceAuditor.CPRegionServerObserver</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.CPMasterObserver.html" title="class or interface in org.apache.hadoop.hbase.namespace" class="external-link">TestNamespaceAuditor.CPMasterObserver</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.CustomObserver.html" title="class or interface in org.apache.hadoop.hbase.namespace" class="external-link">TestNamespaceAuditor.CustomObserver</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.CPRegionServerObserver.html" title="class or interface in org.apache.hadoop.hbase.namespace" class="external-link">TestNamespaceAuditor.CPRegionServerObserver</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.MasterSyncObserver.html" title="class or interface in org.apache.hadoop.hbase.namespace" class="external-link">TestNamespaceAuditor.MasterSyncObserver</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.CustomObserver.html" title="class or interface in org.apache.hadoop.hbase.namespace" class="external-link">TestNamespaceAuditor.CustomObserver</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/mode/TestNamespaceMode.html" title="class or interface in org.apache.hadoop.hbase.hbtop.mode" class="external-link">TestNamespaceMode</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.MasterSyncObserver.html" title="class or interface in org.apache.hadoop.hbase.namespace" class="external-link">TestNamespaceAuditor.MasterSyncObserver</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestNamespaceQuotaViolationStore.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestNamespaceQuotaViolationStore</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/mode/TestNamespaceMode.html" title="class or interface in org.apache.hadoop.hbase.hbtop.mode" class="external-link">TestNamespaceMode</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestNamespaceQuotaViolationStore.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestNamespaceQuotaViolationStore</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for <a href="../apidocs/org/apache/hadoop/hbase/quotas/NamespaceQuotaSnapshotStore.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link"><code>NamespaceQuotaSnapshotStore</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestNamespaceReplication.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestNamespaceReplication</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestNamespaceReplicationWithBulkLoadedData.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestNamespaceReplicationWithBulkLoadedData</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestNamespaceReplication.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestNamespaceReplication</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestNamespaceReplicationWithBulkLoadedData.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestNamespaceReplicationWithBulkLoadedData</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testcase for HBASE-23098</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestNamespacesInstanceResource.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestNamespacesInstanceResource</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestNamespacesResource.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestNamespacesResource</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestNamespacesInstanceResource.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestNamespacesInstanceResource</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestNegativeMemStoreSizeWithSlowCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestNegativeMemStoreSizeWithSlowCoprocessor</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/rest/TestNamespacesResource.html" title="class or interface in org.apache.hadoop.hbase.rest" class="external-link">TestNamespacesResource</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestNegativeMemStoreSizeWithSlowCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestNegativeMemStoreSizeWithSlowCoprocessor</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test that verifies we do not have memstore size negative when a postPut/Delete hook is
slow/expensive and a flush is triggered at the same time the coprocessow is doing its work.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestNegativeMemStoreSizeWithSlowCoprocessor.FlushingRegionObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestNegativeMemStoreSizeWithSlowCoprocessor.FlushingRegionObserver</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestNettyChannelWritability.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestNettyChannelWritability</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestNegativeMemStoreSizeWithSlowCoprocessor.FlushingRegionObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestNegativeMemStoreSizeWithSlowCoprocessor.FlushingRegionObserver</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestNettyIPC.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestNettyIPC</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestNettyChannelWritability.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestNettyChannelWritability</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestNettyIPCCloseConnection.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestNettyIPCCloseConnection</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestNettyIPC.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestNettyIPC</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestNettyIPCCloseConnection.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestNettyIPCCloseConnection</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Confirm that we truly close the NettyRpcConnection when the netty channel is closed.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestNettyIPCSslFailure.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestNettyIPCSslFailure</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestNettyRpcConnection.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestNettyRpcConnection</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestNettyIPCSslFailure.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestNettyIPCSslFailure</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestNettyRpcServer.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestNettyRpcServer</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestNettyRpcConnection.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestNettyRpcConnection</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestNettyTlsIPC.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestNettyTlsIPC</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestNettyRpcServer.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestNettyRpcServer</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestNettyTLSIPCFileWatcher.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestNettyTLSIPCFileWatcher</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestNettyTlsIPC.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestNettyTlsIPC</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestNettyTlsIPCRejectPlainText.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestNettyTlsIPCRejectPlainText</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestNettyTLSIPCFileWatcher.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestNettyTLSIPCFileWatcher</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestNewStartedRegionServerVersion.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestNewStartedRegionServerVersion</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/security/TestNettyTlsIPCRejectPlainText.html" title="class or interface in org.apache.hadoop.hbase.security" class="external-link">TestNettyTlsIPCRejectPlainText</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestNewVersionBehaviorFromClientSide.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestNewVersionBehaviorFromClientSide</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestNewStartedRegionServerVersion.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestNewStartedRegionServerVersion</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/querymatcher/TestNewVersionBehaviorTracker.html" title="class or interface in org.apache.hadoop.hbase.regionserver.querymatcher" class="external-link">TestNewVersionBehaviorTracker</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestNewVersionBehaviorFromClientSide.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestNewVersionBehaviorFromClientSide</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestNodeHealthCheckChore.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestNodeHealthCheckChore</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/querymatcher/TestNewVersionBehaviorTracker.html" title="class or interface in org.apache.hadoop.hbase.regionserver.querymatcher" class="external-link">TestNewVersionBehaviorTracker</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/policies/TestNoInsertsViolationPolicyEnforcement.html" title="class or interface in org.apache.hadoop.hbase.quotas.policies" class="external-link">TestNoInsertsViolationPolicyEnforcement</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestNodeHealthCheckChore.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestNodeHealthCheckChore</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/policies/TestNoInsertsViolationPolicyEnforcement.html" title="class or interface in org.apache.hadoop.hbase.quotas.policies" class="external-link">TestNoInsertsViolationPolicyEnforcement</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for <a href="../apidocs/org/apache/hadoop/hbase/quotas/policies/NoInsertsViolationPolicyEnforcement.html" title="class or interface in org.apache.hadoop.hbase.quotas.policies" class="external-link"><code>NoInsertsViolationPolicyEnforcement</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestNonHBaseReplicationEndpoint.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestNonHBaseReplicationEndpoint</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestNonHBaseReplicationEndpoint.NonHBaseReplicationEndpoint.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestNonHBaseReplicationEndpoint.NonHBaseReplicationEndpoint</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestNonHBaseReplicationEndpoint.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestNonHBaseReplicationEndpoint</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestNoopOperationQuota.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestNoopOperationQuota</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestNonHBaseReplicationEndpoint.NonHBaseReplicationEndpoint.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestNonHBaseReplicationEndpoint.NonHBaseReplicationEndpoint</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestNotCleanupCompactedFileWhenRegionWarmup.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestNotCleanupCompactedFileWhenRegionWarmup</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestNoopOperationQuota.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestNoopOperationQuota</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/policies/TestNoWritesCompactionsViolationPolicyEnforcement.html" title="class or interface in org.apache.hadoop.hbase.quotas.policies" class="external-link">TestNoWritesCompactionsViolationPolicyEnforcement</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestNotCleanupCompactedFileWhenRegionWarmup.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestNotCleanupCompactedFileWhenRegionWarmup</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/policies/TestNoWritesCompactionsViolationPolicyEnforcement.html" title="class or interface in org.apache.hadoop.hbase.quotas.policies" class="external-link">TestNoWritesCompactionsViolationPolicyEnforcement</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for <a href="../apidocs/org/apache/hadoop/hbase/quotas/policies/NoWritesCompactionsViolationPolicyEnforcement.html" title="class or interface in org.apache.hadoop.hbase.quotas.policies" class="external-link"><code>NoWritesCompactionsViolationPolicyEnforcement</code></a>;</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/policies/TestNoWritesViolationPolicyEnforcement.html" title="class or interface in org.apache.hadoop.hbase.quotas.policies" class="external-link">TestNoWritesViolationPolicyEnforcement</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/policies/TestNoWritesViolationPolicyEnforcement.html" title="class or interface in org.apache.hadoop.hbase.quotas.policies" class="external-link">TestNoWritesViolationPolicyEnforcement</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for <a href="../apidocs/org/apache/hadoop/hbase/quotas/policies/NoWritesViolationPolicyEnforcement.html" title="class or interface in org.apache.hadoop.hbase.quotas.policies" class="external-link"><code>NoWritesViolationPolicyEnforcement</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestNullComparator.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestNullComparator</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestObservedExceptionsInBatch.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestObservedExceptionsInBatch</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestNullComparator.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestNullComparator</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestObservedExceptionsInBatch.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestObservedExceptionsInBatch</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for <a href="../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link"><code>HRegion.ObservedExceptionsInBatch</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestOldWALsDirSizeChore.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestOldWALsDirSizeChore</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestOldWALsDirSizeChore.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestOldWALsDirSizeChore</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests for OldWALsDirSizeChore Here we are using the <code>MockMasterServices</code> to mock the Hbase
Master.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestOnlineLogRecord.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestOnlineLogRecord</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestOpenRegionFailedMemoryLeak.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestOpenRegionFailedMemoryLeak</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestOnlineLogRecord.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestOnlineLogRecord</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestOpenSeqNumUnexpectedIncrease.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestOpenSeqNumUnexpectedIncrease</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestOpenRegionFailedMemoryLeak.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestOpenRegionFailedMemoryLeak</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestOpenSeqNumUnexpectedIncrease.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestOpenSeqNumUnexpectedIncrease</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testcase for HBASE-20242</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestOpenSeqNumUnexpectedIncrease.MockHRegion.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestOpenSeqNumUnexpectedIncrease.MockHRegion</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestOpenTableInCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestOpenTableInCoprocessor</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestOpenSeqNumUnexpectedIncrease.MockHRegion.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestOpenSeqNumUnexpectedIncrease.MockHRegion</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestOpenTableInCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestOpenTableInCoprocessor</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test that a coprocessor can open a connection and write to another table, inside a hook.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestOpenTableInCoprocessor.CustomThreadPoolCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestOpenTableInCoprocessor.CustomThreadPoolCoprocessor</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestOpenTableInCoprocessor.CustomThreadPoolCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestOpenTableInCoprocessor.CustomThreadPoolCoprocessor</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Coprocessor that creates an HTable with a pool to write to another table</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestOpenTableInCoprocessor.SendToOtherTableCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestOpenTableInCoprocessor.SendToOtherTableCoprocessor</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestOpenTableInCoprocessor.SendToOtherTableCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestOpenTableInCoprocessor.SendToOtherTableCoprocessor</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Custom coprocessor that just copies the write to another table.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestOperation.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestOperation</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestOperation.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestOperation</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Run tests that use the functionality of the Operation superclass for Puts, Gets, Deletes, Scans,
and MultiPuts.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestOrder.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestOrder</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedBlob.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedBlob</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestOrder.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestOrder</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedBlobVar.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedBlobVar</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedBlob.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedBlob</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestOrderedBytes.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestOrderedBytes</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedBlobVar.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedBlobVar</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedFloat32.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedFloat32</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestOrderedBytes.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestOrderedBytes</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedFloat64.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedFloat64</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedFloat32.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedFloat32</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedInt16.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedInt16</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedFloat64.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedFloat64</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedInt32.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedInt32</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedInt16.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedInt16</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedInt64.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedInt64</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedInt32.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedInt32</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedInt8.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedInt8</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedInt64.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedInt64</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedNumeric.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedNumeric</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedInt8.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedInt8</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedString.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedString</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedNumeric.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedNumeric</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestOutputSinkWriter.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestOutputSinkWriter</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestOrderedString.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestOrderedString</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class or interface in org.apache.hadoop.hbase.io.asyncfs" class="external-link">TestOverwriteFileUnderConstruction</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestOutputSinkWriter.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestOutputSinkWriter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class or interface in org.apache.hadoop.hbase.io.asyncfs" class="external-link">TestOverwriteFileUnderConstruction</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Used to confirm that it is OK to overwrite a file which is being written currently.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestPageFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestPageFilter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestPageFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestPageFilter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests for the page filter</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/screen/top/TestPaging.html" title="class or interface in org.apache.hadoop.hbase.hbtop.screen.top" class="external-link">TestPaging</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestParallelPut.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestParallelPut</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/screen/top/TestPaging.html" title="class or interface in org.apache.hadoop.hbase.hbtop.screen.top" class="external-link">TestPaging</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestParallelPut.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestParallelPut</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testing of multiPut in parallel.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestParallelPut.Putter.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestParallelPut.Putter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestParallelPut.Putter.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestParallelPut.Putter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">A thread that makes a few put calls</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestParseFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestParseFilter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestParseFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestParseFilter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This class tests ParseFilter.java It tests the entire work flow from when a string is given by
the user and how it is parsed to construct the corresponding Filter object</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestParsePartialWALFile.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestParsePartialWALFile</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestParsePartialWALFile.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestParsePartialWALFile</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">In this test, we write a small WAL file first, and then generate partial WAL file which length is
in range [0, fileLength)(we test all the possible length in the range), to see if we can
successfully get the completed entries, and also get an EOF at the end.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestPartialResultsFromClientSide.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestPartialResultsFromClientSide</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestPartialResultsFromClientSide.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestPartialResultsFromClientSide</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">These tests are focused on testing how partial results appear to a client.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestPathFilter.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestPathFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestPathFilter.RecordingFilter.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestPathFilter.RecordingFilter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestPathFilter.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestPathFilter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestPathFilter.RecordingFilter.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestPathFilter.RecordingFilter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">A very simple filter that records accessed uri's</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestPathFilter.RecordingFilter.Initializer.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestPathFilter.RecordingFilter.Initializer</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestPathFilter.RecordingFilter.Initializer.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestPathFilter.RecordingFilter.Initializer</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Configuration for RecordingFilter</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestPBCell.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestPBCell</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/tls/TestPEMFileLoader.html" title="class or interface in org.apache.hadoop.hbase.io.crypto.tls" class="external-link">TestPEMFileLoader</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestPBCell.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestPBCell</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/tls/TestPEMFileLoader.html" title="class or interface in org.apache.hadoop.hbase.io.crypto.tls" class="external-link">TestPEMFileLoader</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">This file has been copied from the Apache ZooKeeper project.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestPerColumnFamilyFlush.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestPerColumnFamilyFlush</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestPerColumnFamilyFlush.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestPerColumnFamilyFlush</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This test verifies the correctness of the Per Column Family flushing strategy</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestPerformanceEvaluation.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestPerformanceEvaluation</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestPerTableCFReplication.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestPerTableCFReplication</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestPerformanceEvaluation.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestPerformanceEvaluation</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/tls/TestPKCS12FileLoader.html" title="class or interface in org.apache.hadoop.hbase.io.crypto.tls" class="external-link">TestPKCS12FileLoader</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/replication/TestPerTableCFReplication.html" title="class or interface in org.apache.hadoop.hbase.replication" class="external-link">TestPerTableCFReplication</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/crypto/tls/TestPKCS12FileLoader.html" title="class or interface in org.apache.hadoop.hbase.io.crypto.tls" class="external-link">TestPKCS12FileLoader</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">This file has been copied from the Apache ZooKeeper project.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestPluggableQueueImpl.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestPluggableQueueImpl</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestPluggableQueueImpl.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestPluggableQueueImpl</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Implementation of the PluggableBlockingQueue abstract class.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestPortAllocator.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestPortAllocator</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestPostIncrementAndAppendBeforeWAL.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestPostIncrementAndAppendBeforeWAL</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestPortAllocator.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestPortAllocator</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestPostIncrementAndAppendBeforeWAL.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestPostIncrementAndAppendBeforeWAL</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test coprocessor methods
<a href="../apidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postIncrementBeforeWAL(org.apache.hadoop.hbase.coprocessor.ObserverContext,org.apache.hadoop.hbase.client.Mutation,java.util.List)" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link"><code>RegionObserver.postIncrementBeforeWAL(ObserverContext, Mutation, List)</code></a> and
<a href="../apidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postAppendBeforeWAL(org.apache.hadoop.hbase.coprocessor.ObserverContext,org.apache.hadoop.hbase.client.Mutation,java.util.List)" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link"><code>RegionObserver.postAppendBeforeWAL(ObserverContext, Mutation, List)</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestPostIncrementAndAppendBeforeWAL.ChangeCellWithACLTagObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestPostIncrementAndAppendBeforeWAL.ChangeCellWithACLTagObserver</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestPostIncrementAndAppendBeforeWAL.ChangeCellWithDifferntColumnFamilyObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestPostIncrementAndAppendBeforeWAL.ChangeCellWithDifferntColumnFamilyObserver</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestPostIncrementAndAppendBeforeWAL.ChangeCellWithACLTagObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestPostIncrementAndAppendBeforeWAL.ChangeCellWithACLTagObserver</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestPostIncrementAndAppendBeforeWAL.ChangeCellWithNotExistColumnFamilyObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestPostIncrementAndAppendBeforeWAL.ChangeCellWithNotExistColumnFamilyObserver</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestPostIncrementAndAppendBeforeWAL.ChangeCellWithDifferntColumnFamilyObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestPostIncrementAndAppendBeforeWAL.ChangeCellWithDifferntColumnFamilyObserver</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestPreadReversedScanner.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestPreadReversedScanner</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestPostIncrementAndAppendBeforeWAL.ChangeCellWithNotExistColumnFamilyObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestPostIncrementAndAppendBeforeWAL.ChangeCellWithNotExistColumnFamilyObserver</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestPrefetch.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestPrefetch</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestPreadReversedScanner.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestPreadReversedScanner</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestPrefetchRSClose.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestPrefetchRSClose</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestPrefetch.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestPrefetch</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestPrefixFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestPrefixFilter</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/io/hfile/TestPrefetchRSClose.html" title="class or interface in org.apache.hadoop.hbase.io.hfile" class="external-link">TestPrefetchRSClose</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestPriorityRpc.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestPriorityRpc</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestPrefixFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestPrefixFilter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestPriorityRpc.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestPriorityRpc</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests that verify certain RPCs get a higher QoS.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestProcDispatcher.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestProcDispatcher</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestProcDispatcher.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestProcDispatcher</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testing custom RSProcedureDispatcher to ensure retry limit can be imposed on certain errors.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestProfileOutputServlet.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestProfileOutputServlet</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/prometheus/TestPrometheusServlet.html" title="class or interface in org.apache.hadoop.hbase.http.prometheus" class="external-link">TestPrometheusServlet</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestProfileOutputServlet.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestProfileOutputServlet</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/prometheus/TestPrometheusServlet.html" title="class or interface in org.apache.hadoop.hbase.http.prometheus" class="external-link">TestPrometheusServlet</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test prometheus Sink.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestProtobufLog.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestProtobufLog</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestProtoBufRpc.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestProtoBufRpc</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/wal/TestProtobufLog.html" title="class or interface in org.apache.hadoop.hbase.regionserver.wal" class="external-link">TestProtobufLog</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestProtoBufRpc.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestProtoBufRpc</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test for testing protocol buffer based RPC mechanism.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestProtobufRpcServiceImpl.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestProtobufRpcServiceImpl</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/shaded/protobuf/TestProtobufUtil.html" title="class or interface in org.apache.hadoop.hbase.shaded.protobuf" class="external-link">TestProtobufUtil</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/ipc/TestProtobufRpcServiceImpl.html" title="class or interface in org.apache.hadoop.hbase.ipc" class="external-link">TestProtobufRpcServiceImpl</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestProxyUserSpnegoHttpServer.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestProxyUserSpnegoHttpServer</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/shaded/protobuf/TestProtobufUtil.html" title="class or interface in org.apache.hadoop.hbase.shaded.protobuf" class="external-link">TestProtobufUtil</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/http/TestProxyUserSpnegoHttpServer.html" title="class or interface in org.apache.hadoop.hbase.http" class="external-link">TestProxyUserSpnegoHttpServer</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for SPNEGO Proxyuser authentication on the HttpServer.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestPutDeleteEtcCellIteration.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestPutDeleteEtcCellIteration</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestPutDeleteEtcCellIteration.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestPutDeleteEtcCellIteration</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test that I can Iterate Client Actions that hold Cells (Get does not have Cells).</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestPutDotHas.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestPutDotHas</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestPutWithDelete.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestPutWithDelete</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestPutDotHas.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestPutDotHas</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestPutWriteToWal.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestPutWriteToWal</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestPutWithDelete.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestPutWithDelete</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestQualifierFilterWithEmptyQualifier.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestQualifierFilterWithEmptyQualifier</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestPutWriteToWal.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestPutWriteToWal</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestQualifierFilterWithEmptyQualifier.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestQualifierFilterWithEmptyQualifier</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test qualifierFilter with empty qualifier column</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaAdmin</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaAdmin.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaAdmin</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">minicluster tests that validate that quota entries are properly set in the quota table</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaCache.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaCache</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaCache2.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaCache2</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaCache.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaCache</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaCache2.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaCache2</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests of QuotaCache that don't require a minicluster, unlike in TestQuotaCache</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaFilter.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaGlobalsSettingsBypass</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaFilter.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaFilter</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaObserverChore</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaGlobalsSettingsBypass.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaGlobalsSettingsBypass</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaObserverChore.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaObserverChore</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Non-HBase cluster unit tests for <a href="../apidocs/org/apache/hadoop/hbase/quotas/QuotaObserverChore.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link"><code>QuotaObserverChore</code></a>.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreRegionReports.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaObserverChoreRegionReports</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreRegionReports.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaObserverChoreRegionReports</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">A test case to verify that region reports are expired when they are not sent.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreWithMiniCluster.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaObserverChoreWithMiniCluster</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaObserverChoreWithMiniCluster.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaObserverChoreWithMiniCluster</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for <a href="../apidocs/org/apache/hadoop/hbase/quotas/QuotaObserverChore.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link"><code>QuotaObserverChore</code></a> that uses a live HBase cluster.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaSettingsFactory.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaSettingsFactory</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaSettingsFactory.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaSettingsFactory</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for <a href="../apidocs/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link"><code>QuotaSettingsFactory</code></a>.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestQuotasShell.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestQuotasShell</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaState.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaState</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestQuotasShell.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestQuotasShell</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaStatusRPCs.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaStatusRPCs</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaState.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaState</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaStatusRPCs.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaStatusRPCs</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test class for the quota status RPCs in the master and regionserver.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaTableUtil.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaTableUtil</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaTableUtil.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaTableUtil</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test the quota table helpers (e.g.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaThrottle</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaUserOverride.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaUserOverride</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaThrottle</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestRaceBetweenGetWALAndGetWALs.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestRaceBetweenGetWALAndGetWALs</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestQuotaUserOverride.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestQuotaUserOverride</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestRaceBetweenGetWALAndGetWALs.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestRaceBetweenGetWALAndGetWALs</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Testcase for HBASE-21503.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestRandomRowFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestRandomRowFilter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestRateLimiter.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestRateLimiter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestRandomRowFilter.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestRandomRowFilter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/quotas/TestRateLimiter.html" title="class or interface in org.apache.hadoop.hbase.quotas" class="external-link">TestRateLimiter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Verify the behaviour of the Rate Limiter.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRawAsyncScanCursor.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRawAsyncScanCursor</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRawAsyncTableLimitedScanWithFilter.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRawAsyncTableLimitedScanWithFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRawAsyncScanCursor.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRawAsyncScanCursor</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRawAsyncTableLimitedScanWithFilter.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRawAsyncTableLimitedScanWithFilter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">With filter we may stop at a middle of row and think that we still have more cells for the
current row but actually all the remaining cells will be filtered out by the filter.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRawAsyncTablePartialScan.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRawAsyncTablePartialScan</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRawAsyncTableScan.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRawAsyncTableScan</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRawAsyncTablePartialScan.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRawAsyncTablePartialScan</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestRawBytes.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestRawBytes</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRawAsyncTableScan.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRawAsyncTableScan</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestRawString.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestRawString</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestRawBytes.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestRawBytes</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestReadAndWriteRegionInfoFile.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestReadAndWriteRegionInfoFile</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/types/TestRawString.html" title="class or interface in org.apache.hadoop.hbase.types" class="external-link">TestRawString</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestReadOnlyConfiguration.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestReadOnlyConfiguration</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestReadAndWriteRegionInfoFile.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestReadAndWriteRegionInfoFile</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestReadOnlyZKClient.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestReadOnlyZKClient</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestReadOnlyConfiguration.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestReadOnlyConfiguration</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestReadWriteSeqIdFiles.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestReadWriteSeqIdFiles</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestReadOnlyZKClient.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestReadOnlyZKClient</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/TestRecord.html" title="class or interface in org.apache.hadoop.hbase.hbtop" class="external-link">TestRecord</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestReadWriteSeqIdFiles.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestReadWriteSeqIdFiles</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/TestRecordFilter.html" title="class or interface in org.apache.hadoop.hbase.hbtop" class="external-link">TestRecordFilter</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/TestRecord.html" title="class or interface in org.apache.hadoop.hbase.hbtop" class="external-link">TestRecord</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestRecoverableZooKeeper.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestRecoverableZooKeeper</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/TestRecordFilter.html" title="class or interface in org.apache.hadoop.hbase.hbtop" class="external-link">TestRecordFilter</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRecoveredEdits</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/zookeeper/TestRecoverableZooKeeper.html" title="class or interface in org.apache.hadoop.hbase.zookeeper" class="external-link">TestRecoverableZooKeeper</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRecoveredEdits</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests around replay of recovered.edits content.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestRecoveredEditsOutputSink.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestRecoveredEditsOutputSink</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRecoveredEditsReplayAndAbort.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRecoveredEditsReplayAndAbort</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/wal/TestRecoveredEditsOutputSink.html" title="class or interface in org.apache.hadoop.hbase.wal" class="external-link">TestRecoveredEditsOutputSink</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRecoveredEditsReplayAndAbort.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRecoveredEditsReplayAndAbort</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">HBASE-21031 If replay edits fails, we need to make sure memstore is rollbacked And if MSLAB is
used, all chunk is released too.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestRecoverLeaseFSUtils.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestRecoverLeaseFSUtils</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/util/TestRecoverLeaseFSUtils.html" title="class or interface in org.apache.hadoop.hbase.util" class="external-link">TestRecoverLeaseFSUtils</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test our recoverLease loop against mocked up filesystem.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestRecreateCluster.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestRecreateCluster</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/master/TestRecreateCluster.html" title="class or interface in org.apache.hadoop.hbase.master" class="external-link">TestRecreateCluster</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test reuse storefiles within data directory when cluster failover with a set of new region
servers with different hostnames with or without WALs and Zookeeper ZNodes, the master and
cluster should fail respectively if there is any situation considered as not supported.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/example/TestRefreshHFilesClient.html" title="class or interface in org.apache.hadoop.hbase.client.example" class="external-link">TestRefreshHFilesClient</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestRegexComparator.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestRegexComparator</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/example/TestRefreshHFilesClient.html" title="class or interface in org.apache.hadoop.hbase.client.example" class="external-link">TestRefreshHFilesClient</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorHost.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestRegionCoprocessorHost</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/filter/TestRegexComparator.html" title="class or interface in org.apache.hadoop.hbase.filter" class="external-link">TestRegexComparator</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorHost.TempRegionObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestRegionCoprocessorHost.TempRegionObserver</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorHost.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestRegionCoprocessorHost</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorQuotaUsage.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestRegionCoprocessorQuotaUsage</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorHost.TempRegionObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestRegionCoprocessorHost.TempRegionObserver</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorQuotaUsage.MyCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestRegionCoprocessorQuotaUsage.MyCoprocessor</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorQuotaUsage.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestRegionCoprocessorQuotaUsage</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorQuotaUsage.MyRegionObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestRegionCoprocessorQuotaUsage.MyRegionObserver</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorQuotaUsage.MyCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestRegionCoprocessorQuotaUsage.MyCoprocessor</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionFavoredNodes.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionFavoredNodes</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorQuotaUsage.MyRegionObserver.html" title="class or interface in org.apache.hadoop.hbase.coprocessor" class="external-link">TestRegionCoprocessorQuotaUsage.MyRegionObserver</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionFavoredNodes.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionFavoredNodes</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tests the ability to specify favored nodes for a region.</div>
</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionIncrement.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionIncrement</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionIncrement.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionIncrement</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Increments with some concurrency against a region to ensure we get the right answer.</div>
</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionInfo.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionInfo</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRegionInfoBuilder.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRegionInfoBuilder</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionInfo.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionInfo</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRegionInfoDisplay.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRegionInfoDisplay</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRegionInfoBuilder.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRegionInfoBuilder</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionInterrupt.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionInterrupt</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRegionInfoDisplay.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRegionInfoDisplay</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionInterrupt.DelayingFilter.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionInterrupt.DelayingFilter</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionInterrupt.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionInterrupt</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionInterrupt.InterruptInterceptingHRegion.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionInterrupt.InterruptInterceptingHRegion</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionInterrupt.DelayingFilter.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionInterrupt.DelayingFilter</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionInterrupt.MutationDelayingCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionInterrupt.MutationDelayingCoprocessor</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionInterrupt.InterruptInterceptingHRegion.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionInterrupt.InterruptInterceptingHRegion</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRegionLocationCaching.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRegionLocationCaching</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionInterrupt.MutationDelayingCoprocessor.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionInterrupt.MutationDelayingCoprocessor</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestRegionLocations.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestRegionLocations</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRegionLocationCaching.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRegionLocationCaching</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRegionLocator.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRegionLocator</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestRegionLocations.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestRegionLocations</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionMergeTransactionOnCluster</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/client/TestRegionLocator.html" title="class or interface in org.apache.hadoop.hbase.client" class="external-link">TestRegionLocator</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.MyMaster.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionMergeTransactionOnCluster.MyMaster</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionMergeTransactionOnCluster</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestRegionMetrics.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestRegionMetrics</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.MyMaster.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionMergeTransactionOnCluster.MyMaster</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/mode/TestRegionMode.html" title="class or interface in org.apache.hadoop.hbase.hbtop.mode" class="external-link">TestRegionMode</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/TestRegionMetrics.html" title="class or interface in org.apache.hadoop.hbase" class="external-link">TestRegionMetrics</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionMove.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionMove</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/hbtop/mode/TestRegionMode.html" title="class or interface in org.apache.hadoop.hbase.hbtop.mode" class="external-link">TestRegionMode</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="../apidocs/org/apache/hadoop/hbase/regionserver/TestRegionMove.html" title="class or interface in org.apache.hadoop.hbase.regionserver" class="external-link">TestRegionMove</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Test move fails when table disabled</div>
</div>
... 6733 lines suppressed ...