From e9f64a1ec25dca0d09ff5af2458f5175b045fe7a Mon Sep 17 00:00:00 2001 From: Mingliang Liu Date: Mon, 27 Jan 2020 18:34:20 -0800 Subject: [PATCH] HBASE-23748 Include HBASE-21284 to branch-2.2 HBASE-21284 - Forward port HBASE-21000 to branch-2 HBASE-21000 - Default limits for PressureAwareCompactionThroughputController are too low Signed-off-by: Andrew Purtell Signed-off-by: Sakthi (cherry picked from commit bc737d1ed9b09119ab7be83d59d1eff56c19729c) --- .../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 19eee9719d630e427aaf580a546109041382dfa7..1e57059835b2944ba9c2036cc0a52917319677ae 100644 --- a/hbase-common/src/main/resources/hbase-default.xml +++ b/hbase-common/src/main/resources/hbase-default.xml @@ -927,6 +927,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 7e9b208bf6a5bc4d95fe2790a2cc4a4a1c5bf6fc..8c8acfd1d5b92956e33a8917c5f97ba24bdb3412 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 10942b662c7911d7fbf3cb2f4a54ac4d1092ccb4..b232fbc39c97ecf49618db6bc7d851576a412277 100644 --- a/src/main/asciidoc/_chapters/upgrading.adoc +++ b/src/main/asciidoc/_chapters/upgrading.adoc @@ -632,9 +632,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_. @@ -649,9 +649,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.20.1 (Apple Git-117)