Skip to content

Commit

Permalink
HBASE-21284 Default limits for PressureAwareCompactionThroughputContr…
Browse files Browse the repository at this point in the history
…oller are too low

This is a forward port HBASE-21000 from branch-1.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
  • Loading branch information
liuml07 authored and apurtell committed Jun 20, 2019
1 parent 1d656e8 commit bc737d1
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 7 deletions.
18 changes: 18 additions & 0 deletions hbase-common/src/main/resources/hbase-default.xml
Original file line number Diff line number Diff line change
Expand Up @@ -932,6 +932,24 @@ possible configurations would overwhelm and obscure the important.
See http://hbase.apache.org/book.html#offheap.blockcache for more information.
</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>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down
10 changes: 5 additions & 5 deletions src/main/asciidoc/_chapters/upgrading.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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_.

Expand All @@ -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
Expand Down

0 comments on commit bc737d1

Please sign in to comment.