You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2022/03/09 22:46:57 UTC
[hbase] branch master updated: HBASE-26814 Default StoreHotnessProtector to off, with logs to guide when to turn it on (#4194)
This is an automated email from the ASF dual-hosted git repository.
apurtell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/master by this push:
new 1dd29db HBASE-26814 Default StoreHotnessProtector to off, with logs to guide when to turn it on (#4194)
1dd29db is described below
commit 1dd29dba5cd9272d9a8781f7689ca99d73745411
Author: Bryan Beaudreault <bb...@hubspot.com>
AuthorDate: Wed Mar 9 17:43:58 2022 -0500
HBASE-26814 Default StoreHotnessProtector to off, with logs to guide when to turn it on (#4194)
Signed-off-by: Andrew Purtell <ap...@apache.org>
---
.../hbase/regionserver/throttle/StoreHotnessProtector.java | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/throttle/StoreHotnessProtector.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/throttle/StoreHotnessProtector.java
index 7cb3a24..4282c93 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/throttle/StoreHotnessProtector.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/throttle/StoreHotnessProtector.java
@@ -30,7 +30,6 @@ import org.apache.hadoop.hbase.regionserver.Store;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.ClassSize;
import org.apache.yetus.audience.InterfaceAudience;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -63,6 +62,10 @@ import org.slf4j.LoggerFactory;
@InterfaceAudience.Private
public class StoreHotnessProtector {
private static final Logger LOG = LoggerFactory.getLogger(StoreHotnessProtector.class);
+
+ // We want to log just once so that users are aware of this tool
+ private static volatile boolean loggedDisableMessage;
+
private volatile int parallelPutToStoreThreadLimit;
private volatile int parallelPreparePutToStoreThreadLimit;
@@ -70,7 +73,7 @@ public class StoreHotnessProtector {
"hbase.region.store.parallel.put.limit";
public final static String PARALLEL_PREPARE_PUT_STORE_MULTIPLIER =
"hbase.region.store.parallel.prepare.put.multiplier";
- private final static int DEFAULT_PARALLEL_PUT_STORE_THREADS_LIMIT = 10;
+ private final static int DEFAULT_PARALLEL_PUT_STORE_THREADS_LIMIT = 0;
private volatile int parallelPutToStoreThreadLimitCheckMinColumnCount;
public final static String PARALLEL_PUT_STORE_THREADS_LIMIT_MIN_COLUMN_COUNT =
"hbase.region.store.parallel.put.limit.min.column.count";
@@ -95,6 +98,13 @@ public class StoreHotnessProtector {
conf.getInt(PARALLEL_PUT_STORE_THREADS_LIMIT_MIN_COLUMN_COUNT,
DEFAULT_PARALLEL_PUT_STORE_THREADS_LIMIT_MIN_COLUMN_NUM);
+ if (!isEnable() && !loggedDisableMessage) {
+ loggedDisableMessage = true;
+
+ LOG.info("StoreHotnessProtector is disabled. Set {} > 0 to enable, "
+ + "which may help mitigate load under heavy write pressure.",
+ PARALLEL_PUT_STORE_THREADS_LIMIT);
+ }
}
public void update(Configuration conf) {