This is an automated email from the ASF dual-hosted git repository.
apurtell pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2 by this push:
new bc737d1 HBASE-21284 Default limits for
PressureAwareCompactionThroughputController are too low
bc737d1 is described below
commit bc737d1ed9b09119ab7be83d59d1eff56c19729c
Author: Mingliang Liu <[email protected]>
AuthorDate: Tue Oct 9 18:46:35 2018 -0700
HBASE-21284 Default limits for PressureAwareCompactionThroughputController
are too low
This is a forward port HBASE-21000 from branch-1.
Signed-off-by: Andrew Purtell <[email protected]>
---
hbase-common/src/main/resources/hbase-default.xml | 18 ++++++++++++++++++
.../PressureAwareCompactionThroughputController.java | 4 ++--
src/main/asciidoc/_chapters/upgrading.adoc | 10 +++++-----
3 files changed, 25 insertions(+), 7 deletions(-)
diff --git a/hbase-common/src/main/resources/hbase-default.xml
b/hbase-common/src/main/resources/hbase-default.xml
index 044cf32..ea18892 100644
--- a/hbase-common/src/main/resources/hbase-default.xml
+++ b/hbase-common/src/main/resources/hbase-default.xml
@@ -933,6 +933,24 @@ possible configurations would overwhelm and obscure the
important.
</description>
</property>
<property>
+ <name>hbase.hstore.compaction.throughput.lower.bound</name>
+ <value>52428800</value>
+ <description>The target lower bound on aggregate compaction throughput, in
bytes/sec. Allows
+ you to tune the minimum available compaction throughput when the
+ PressureAwareCompactionThroughputController throughput controller is
active. (It is active by
+ default.)</description>
+ </property>
+ <property>
+ <name>hbase.hstore.compaction.throughput.higher.bound</name>
+ <value>104857600</value>
+ <description>The target upper bound on aggregate compaction throughput, in
bytes/sec. Allows
+ you to control aggregate compaction throughput demand when the
+ PressureAwareCompactionThroughputController throughput controller is
active. (It is active by
+ default.) The maximum throughput will be tuned between the lower and upper
bounds when
+ compaction pressure is within the range [0.0, 1.0]. If compaction pressure
is 1.0 or greater
+ the higher bound will be ignored until pressure returns to the normal
range.</description>
+ </property>
+ <property>
<name>hbase.bucketcache.size</name>
<value></value>
<description>A float that EITHER represents a percentage of total heap
memory
diff --git
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/throttle/PressureAwareCompactionThroughputController.java
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/throttle/PressureAwareCompactionThroughputController.java
index 5052f30..1c3952e 100644
---
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/throttle/PressureAwareCompactionThroughputController.java
+++
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/throttle/PressureAwareCompactionThroughputController.java
@@ -49,13 +49,13 @@ public class PressureAwareCompactionThroughputController
extends PressureAwareTh
"hbase.hstore.compaction.throughput.higher.bound";
private static final long
DEFAULT_HBASE_HSTORE_COMPACTION_MAX_THROUGHPUT_HIGHER_BOUND =
- 20L * 1024 * 1024;
+ 100L * 1024 * 1024;
public static final String
HBASE_HSTORE_COMPACTION_MAX_THROUGHPUT_LOWER_BOUND =
"hbase.hstore.compaction.throughput.lower.bound";
private static final long
DEFAULT_HBASE_HSTORE_COMPACTION_MAX_THROUGHPUT_LOWER_BOUND =
- 10L * 1024 * 1024;
+ 50L * 1024 * 1024;
public static final String HBASE_HSTORE_COMPACTION_MAX_THROUGHPUT_OFFPEAK =
"hbase.hstore.compaction.throughput.offpeak";
diff --git a/src/main/asciidoc/_chapters/upgrading.adoc
b/src/main/asciidoc/_chapters/upgrading.adoc
index 26ace3b..2af6d98 100644
--- a/src/main/asciidoc/_chapters/upgrading.adoc
+++ b/src/main/asciidoc/_chapters/upgrading.adoc
@@ -615,9 +615,9 @@
link:https://issues.apache.org/jira/browse/HBASE-20188[HBASE-20188 TESTING Perfo
[[upgrade2.0.compaction.throughput.limit]]
.Default Compaction Throughput
HBase 2.x comes with default limits to the speed at which compactions can
execute. This
-limit is defined per RegionServer. In previous versions of HBase, there was no
limit to
-the speed at which a compaction could run by default. Applying a limit to the
throughput of
-a compaction should ensure more stable operations from RegionServers.
+limit is defined per RegionServer. In previous versions of HBase earlier than
1.5, there
+was no limit to the speed at which a compaction could run by default. Applying
a limit
+to the throughput of a compaction should ensure more stable operations from
RegionServers.
Take care to notice that this limit is _per RegionServer_, not _per
compaction_.
@@ -632,9 +632,9 @@ higher the compaction pressure.
Configuration of this throughput is governed by the following properties.
- The lower bound is defined by
`hbase.hstore.compaction.throughput.lower.bound`
- and defaults to 10 MB/s (`10485760`).
+ and defaults to 50 MB/s (`52428800`).
- The upper bound is defined by
`hbase.hstore.compaction.throughput.higher.bound`
- and defaults to 20 MB/s (`20971520`).
+ and defaults to 100 MB/s (`104857600`).
To revert this behavior to the unlimited compaction throughput of earlier
versions
of HBase, please set the following property to the implementation that applies
no