From 58f1198857f15b6e07fd76f03d5644334f5ed759 Mon Sep 17 00:00:00 2001 From: Mingliang Liu Date: Tue, 9 Oct 2018 18:46:35 -0700 Subject: [PATCH] HBASE-21284 Default limits for PressureAwareCompactionThroughputController are too low This is a forward port HBASE-21000 from branch-1. --- .../src/main/resources/hbase-default.xml | 18 ++++++++++++++++++ ...ureAwareCompactionThroughputController.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 10eb47b543..656c679466 100644 --- a/hbase-common/src/main/resources/hbase-default.xml +++ b/hbase-common/src/main/resources/hbase-default.xml @@ -937,6 +937,24 @@ possible configurations would overwhelm and obscure the important. See http://hbase.apache.org/book.html#offheap.blockcache for more information. + + hbase.hstore.compaction.throughput.lower.bound + 52428800 + 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.) + + + hbase.hstore.compaction.throughput.higher.bound + 104857600 + 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. + hbase.bucketcache.size 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 5052f30ac5..1c3952ed04 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 e8b32364f7..70e260554f 100644 --- a/src/main/asciidoc/_chapters/upgrading.adoc +++ b/src/main/asciidoc/_chapters/upgrading.adoc @@ -644,9 +644,9 @@ link:https://issues.apache.org/jira/browse/HBASE-16231[HBASE-16231]). [[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_. @@ -661,9 +661,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 -- 2.22.0