Skip to content

Commit efeaf60

Browse files
LiuRuoyu01rock-git
authored andcommitted
[fix][coordinator]Change balance region defult region size
1 parent 6d2ec61 commit efeaf60

File tree

4 files changed

+34
-4
lines changed

4 files changed

+34
-4
lines changed

src/common/constant.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,8 @@ class Constant {
239239

240240
// balance region
241241
inline static const float kBalanceRegionDefaultRegionCountRatio = 0.8f;
242+
inline static const int32_t kBalanceRegionDefaultIndexRegionSize = 536870912; // 512M
243+
inline static const int32_t kBalanceRegionDefaultStoreRegionSize = 268435456; // 256M
242244

243245
// force_read_only
244246
inline static const std::string kForceReadOnlyKey = "FORCE_READ_ONLY";

src/config/config_helper.cc

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,24 @@ float ConfigHelper::GetBalanceRegionCountRatio() {
280280
return (count < 0 || count > 1) ? Constant::kBalanceRegionDefaultRegionCountRatio : count;
281281
}
282282

283+
int32_t ConfigHelper::GetBalanceRegionDefaultIndexRegionSize() {
284+
auto config = ConfigManager::GetInstance().GetRoleConfig();
285+
if (config == nullptr) {
286+
return Constant::kBalanceRegionDefaultIndexRegionSize;
287+
}
288+
int32_t size = config->GetInt("coordinator.balance_region_default_index_region_size");
289+
return (size <= 0) ? Constant::kBalanceRegionDefaultIndexRegionSize : size;
290+
}
291+
292+
int32_t ConfigHelper::GetBalanceRegionDefaultStoreRegionSize() {
293+
auto config = ConfigManager::GetInstance().GetRoleConfig();
294+
if (config == nullptr) {
295+
return Constant::kBalanceRegionDefaultStoreRegionSize;
296+
}
297+
int32_t size = config->GetInt("coordinator.balance_region_default_store_region_size");
298+
return (size <= 0) ? Constant::kBalanceRegionDefaultStoreRegionSize : size;
299+
}
300+
283301
int32_t ConfigHelper::GetWorkerThreadNum() {
284302
auto config = ConfigManager::GetInstance().GetRoleConfig();
285303
if (config == nullptr) {

src/config/config_helper.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ class ConfigHelper {
4747

4848
static std::string GetBalanceRegionInspectionTimePeriod();
4949
static float GetBalanceRegionCountRatio();
50+
static int32_t GetBalanceRegionDefaultIndexRegionSize();
51+
static int32_t GetBalanceRegionDefaultStoreRegionSize();
5052

5153
static int32_t GetWorkerThreadNum();
5254
static double GetWorkerThreadRatio();

src/coordinator/balance_region.cc

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -287,15 +287,23 @@ float StoreEntry::Score() {
287287
capacity_score_ = (capacity_score > 100) ? 100 : capacity_score;
288288

289289
float region_count_score = 0;
290-
int64_t region_approximate_size = ConfigHelper::GetSplitCheckApproximateSize();
291290
auto region_count = store_metric_.region_metrics_map_size();
292-
float max_region_count = static_cast<float>(capacity) / region_approximate_size;
291+
int32_t default_region_size = 0;
292+
if (store_.store_type() == pb::common::StoreType::NODE_TYPE_INDEX) {
293+
default_region_size = ConfigHelper::GetBalanceRegionDefaultIndexRegionSize();
294+
} else if (store_.store_type() == pb::common::StoreType::NODE_TYPE_STORE) {
295+
default_region_size = ConfigHelper::GetBalanceRegionDefaultStoreRegionSize();
296+
} else {
297+
DINGO_LOG(FATAL) << fmt::format("[balance.region] not support store_type: {}",
298+
pb::common::StoreType_Name(store_.store_type()));
299+
}
300+
float max_region_count = static_cast<float>(capacity) / default_region_size;
293301
region_count_score = static_cast<float>(region_count) / max_region_count * FLAGS_balance_region_default_score;
294302
if (region_count_score > 100 || region_count_score < 0) {
295303
DINGO_LOG(WARNING) << fmt::format(
296-
"[balance.region] region count score : {} {} , region_approximate_size : {} , region_count : {} , "
304+
"[balance.region] region count score : {} {} , default region size : {} , region_count : {} , "
297305
"max region count : {}",
298-
region_count_score, region_count_score > 100 ? "higher than 100" : "lower than 0", region_approximate_size,
306+
region_count_score, region_count_score > 100 ? "higher than 100" : "lower than 0", default_region_size,
299307
region_count, max_region_count);
300308
}
301309
region_count_score_ = (region_count_score < 0) ? 0 : region_count_score;

0 commit comments

Comments
 (0)