diff options
author | t1mursadykov <t1mursadykov@yandex-team.ru> | 2022-04-08 21:04:44 +0300 |
---|---|---|
committer | t1mursadykov <t1mursadykov@yandex-team.ru> | 2022-04-08 21:04:44 +0300 |
commit | 759a6bd08bf4e46fdb9582de29e1c69815f923cc (patch) | |
tree | 3ff69478d73fe399347a373f3b756d91209336fb | |
parent | ab5f8de8792469f4a0360d84af678f689292121c (diff) | |
download | ydb-759a6bd08bf4e46fdb9582de29e1c69815f923cc.tar.gz |
PR from branch users/t1mursadykov/KIKIMR-14185
ref:4c18bd0aa1d9a0c51ef2b64308a4f1c8a7649266
-rw-r--r-- | ydb/core/cms/config.h | 12 | ||||
-rw-r--r-- | ydb/core/cms/ui/config_forms.js | 8 | ||||
-rw-r--r-- | ydb/core/protos/cms.proto | 2 |
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]; |