From 9052bd151911b8019ee1972b90a3fbe52e66fe83 Mon Sep 17 00:00:00 2001 From: Liangliang Gu Date: Thu, 28 Oct 2021 13:50:26 +0800 Subject: [PATCH] add parameter to control BoRegionMiss backoff base time (#299) Signed-off-by: marsishandsome --- src/main/java/org/tikv/common/ConfigUtils.java | 3 +++ src/main/java/org/tikv/common/TiConfiguration.java | 3 ++- .../java/org/tikv/common/util/ConcreteBackOffer.java | 9 ++++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/tikv/common/ConfigUtils.java b/src/main/java/org/tikv/common/ConfigUtils.java index 4bb819ff6a..e160bee970 100644 --- a/src/main/java/org/tikv/common/ConfigUtils.java +++ b/src/main/java/org/tikv/common/ConfigUtils.java @@ -66,6 +66,7 @@ public class ConfigUtils { "tikv.rawkv.batch_write_timeout_in_ms"; public static final String TIKV_RAWKV_SCAN_TIMEOUT_IN_MS = "tikv.rawkv.scan_timeout_in_ms"; public static final String TIKV_RAWKV_CLEAN_TIMEOUT_IN_MS = "tikv.rawkv.clean_timeout_in_ms"; + public static final String TIKV_BO_REGION_MISS_BASE_IN_MS = "tikv.bo_region_miss_base_in_ms"; public static final String DEF_PD_ADDRESSES = "127.0.0.1:2379"; public static final String DEF_TIMEOUT = "200ms"; @@ -108,6 +109,8 @@ public class ConfigUtils { public static final int DEF_TIKV_RAWKV_SCAN_TIMEOUT_IN_MS = 10000; public static final int DEF_TIKV_RAWKV_CLEAN_TIMEOUT_IN_MS = 600000; + public static final int DEF_TIKV_BO_REGION_MISS_BASE_IN_MS = 100; + public static final String NORMAL_COMMAND_PRIORITY = "NORMAL"; public static final String LOW_COMMAND_PRIORITY = "LOW"; public static final String HIGH_COMMAND_PRIORITY = "HIGH"; diff --git a/src/main/java/org/tikv/common/TiConfiguration.java b/src/main/java/org/tikv/common/TiConfiguration.java index e795525be4..0d2a65580d 100644 --- a/src/main/java/org/tikv/common/TiConfiguration.java +++ b/src/main/java/org/tikv/common/TiConfiguration.java @@ -118,6 +118,7 @@ public class TiConfiguration implements Serializable { setIfMissing(TIKV_RAWKV_BATCH_WRITE_TIMEOUT_IN_MS, DEF_TIKV_RAWKV_BATCH_WRITE_TIMEOUT_IN_MS); setIfMissing(TIKV_RAWKV_SCAN_TIMEOUT_IN_MS, DEF_TIKV_RAWKV_SCAN_TIMEOUT_IN_MS); setIfMissing(TIKV_RAWKV_CLEAN_TIMEOUT_IN_MS, DEF_TIKV_RAWKV_CLEAN_TIMEOUT_IN_MS); + setIfMissing(TIKV_BO_REGION_MISS_BASE_IN_MS, DEF_TIKV_BO_REGION_MISS_BASE_IN_MS); } public static void listAll() { @@ -164,7 +165,7 @@ public class TiConfiguration implements Serializable { return option.get(); } - private static int getInt(String key) { + public static int getInt(String key) { return Integer.parseInt(get(key)); } diff --git a/src/main/java/org/tikv/common/util/ConcreteBackOffer.java b/src/main/java/org/tikv/common/util/ConcreteBackOffer.java index 6f6f9b1217..9950e5a028 100644 --- a/src/main/java/org/tikv/common/util/ConcreteBackOffer.java +++ b/src/main/java/org/tikv/common/util/ConcreteBackOffer.java @@ -17,6 +17,8 @@ package org.tikv.common.util; +import static org.tikv.common.ConfigUtils.TIKV_BO_REGION_MISS_BASE_IN_MS; + import com.google.common.base.Preconditions; import java.util.ArrayList; import java.util.HashMap; @@ -24,6 +26,7 @@ import java.util.List; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.tikv.common.TiConfiguration; import org.tikv.common.exception.GrpcException; public class ConcreteBackOffer implements BackOffer { @@ -107,7 +110,11 @@ public class ConcreteBackOffer implements BackOffer { backOffFunction = BackOffFunction.create(2000, 10000, BackOffStrategy.EqualJitter); break; case BoRegionMiss: - backOffFunction = BackOffFunction.create(100, 500, BackOffStrategy.NoJitter); + backOffFunction = + BackOffFunction.create( + TiConfiguration.getInt(TIKV_BO_REGION_MISS_BASE_IN_MS), + 500, + BackOffStrategy.NoJitter); break; case BoTxnLock: backOffFunction = BackOffFunction.create(200, 3000, BackOffStrategy.EqualJitter);