aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authort1mursadykov <t1mursadykov@yandex-team.ru>2022-04-08 21:04:44 +0300
committert1mursadykov <t1mursadykov@yandex-team.ru>2022-04-08 21:04:44 +0300
commit759a6bd08bf4e46fdb9582de29e1c69815f923cc (patch)
tree3ff69478d73fe399347a373f3b756d91209336fb
parentab5f8de8792469f4a0360d84af678f689292121c (diff)
downloadydb-759a6bd08bf4e46fdb9582de29e1c69815f923cc.tar.gz
PR from branch users/t1mursadykov/KIKIMR-14185
ref:4c18bd0aa1d9a0c51ef2b64308a4f1c8a7649266
-rw-r--r--ydb/core/cms/config.h12
-rw-r--r--ydb/core/cms/ui/config_forms.js8
-rw-r--r--ydb/core/protos/cms.proto2
3 files changed, 11 insertions, 11 deletions
diff --git a/ydb/core/cms/config.h b/ydb/core/cms/config.h
index 471880e34f6..5e865a91eb2 100644
--- a/ydb/core/cms/config.h
+++ b/ydb/core/cms/config.h
@@ -98,17 +98,13 @@ struct TCmsSentinelConfig {
static TMap<EPDiskState, ui32> LoadStateLimits(const NKikimrCms::TCmsConfig::TSentinelConfig &config)
{
- TMap<EPDiskState, ui32> stateLimits;
+ TMap<EPDiskState, ui32> stateLimits = DefaultStateLimits();
for (const auto &val : config.GetStateLimits()) {
stateLimits[static_cast<EPDiskState>(val.GetState())] = val.GetLimit();
}
- if (stateLimits) {
- return stateLimits;
- }
-
- return DefaultStateLimits();
+ return stateLimits;
}
static TMap<EPDiskState, ui32> DefaultStateLimits()
@@ -124,6 +120,10 @@ struct TCmsSentinelConfig {
stateLimits[NKikimrBlobStorage::TPDiskState::OpenFileError] = 60;
stateLimits[NKikimrBlobStorage::TPDiskState::ChunkQuotaError] = 60;
stateLimits[NKikimrBlobStorage::TPDiskState::DeviceIoError] = 60;
+
+ stateLimits[NKikimrBlobStorage::TPDiskState::Reserved14] = 0;
+ stateLimits[NKikimrBlobStorage::TPDiskState::Reserved15] = 0;
+ stateLimits[NKikimrBlobStorage::TPDiskState::Reserved16] = 0;
// node online, pdisk missing
stateLimits[NKikimrBlobStorage::TPDiskState::Missing] = 60;
// node timeout
diff --git a/ydb/core/cms/ui/config_forms.js b/ydb/core/cms/ui/config_forms.js
index 27518ef5ca1..239b8fe7d39 100644
--- a/ydb/core/cms/ui/config_forms.js
+++ b/ydb/core/cms/ui/config_forms.js
@@ -1143,8 +1143,8 @@ class CmsConfigEditForm extends CommonEditForm {
for (var e of cmsEnums['PDiskStates'].keys()) {
var name = cmsEnums.get('PDiskStates', e);
if (name.match(/Error$/)) {
- sentinelDefaultStateLimits.set(e, 1);
- } else if (e == 255) {
+ sentinelDefaultStateLimits.set(e, 60);
+ } else if (e == 255 || name.match(/^Reserved/)) {
sentinelDefaultStateLimits.set(e, 0);
} else if (e > 250) {
sentinelDefaultStateLimits.set(e, 60);
@@ -1257,7 +1257,7 @@ class CmsConfigEditForm extends CommonEditForm {
<div class="form-group">
<div class="row">
${this._makeNumericInput("Default state limit", "sentinel-default-state-limit",
- "Default is 5", sentinelDefaultStateLimit,
+ "Default is 60", sentinelDefaultStateLimit,
"Number of 'state update' cycles before changing status")}
${this._makeSentinelStateLimits(sentinelStateLimits, sentinelDefaultStateLimits)}
</div>
@@ -1352,7 +1352,7 @@ class CmsConfigEditForm extends CommonEditForm {
for (var e of cmsEnums['PDiskStates'].keys()) {
var name = cmsEnums.get('PDiskStates', e);
var placeholder = "Use default if empty";
- if (stateLimits.size == 0 && defaultStateLimits.has(e)) {
+ if (defaultStateLimits.has(e)) {
placeholder = "Default is " + defaultStateLimits.get(e) + " cycles";
}
diff --git a/ydb/core/protos/cms.proto b/ydb/core/protos/cms.proto
index fa3e2452191..922e1d80073 100644
--- a/ydb/core/protos/cms.proto
+++ b/ydb/core/protos/cms.proto
@@ -414,7 +414,7 @@ message TCmsConfig {
optional uint64 RetryChangeStatus = 6 [default = 10000000];
optional uint32 ChangeStatusRetries = 7 [default = 5];
// Status computer's config
- optional uint32 DefaultStateLimit = 8 [default = 5];
+ optional uint32 DefaultStateLimit = 8 [default = 60];
optional uint32 BrokenLimit = 9 [default = 60]; // unused
// Guardian's config
optional uint32 DataCenterRatio = 10 [default = 50];