diff --git a/ydb/core/blobstorage/nodewarden/distconf.cpp b/ydb/core/blobstorage/nodewarden/distconf.cpp index f6bbfc734742..35680ee3e4bc 100644 --- a/ydb/core/blobstorage/nodewarden/distconf.cpp +++ b/ydb/core/blobstorage/nodewarden/distconf.cpp @@ -173,7 +173,7 @@ namespace NKikimr::NStorage { break; } - if (NodeListObtained && StorageConfigLoaded && change) { + if (change && NodeListObtained && StorageConfigLoaded) { UpdateBound(SelfNode.NodeId(), SelfNode, *StorageConfig, nullptr); IssueNextBindRequest(); processPendingEvents(); @@ -202,8 +202,11 @@ namespace NKikimr::NStorage { } void TNodeWarden::StartDistributedConfigKeeper() { - return; - DistributedConfigKeeperId = Register(new TDistributedConfigKeeper(Cfg, StorageConfig)); + auto *appData = AppData(); + if (!appData->DynamicNameserviceConfig || SelfId().NodeId() <= appData->DynamicNameserviceConfig->MaxStaticNodeId) { + // start distributed configuration machinery only on static nodes + DistributedConfigKeeperId = Register(new TDistributedConfigKeeper(Cfg, StorageConfig)); + } } void TNodeWarden::ForwardToDistributedConfigKeeper(STATEFN_SIG) { diff --git a/ydb/core/blobstorage/nodewarden/distconf_binding.cpp b/ydb/core/blobstorage/nodewarden/distconf_binding.cpp index 7d6536ac4514..1edbe5d272c2 100644 --- a/ydb/core/blobstorage/nodewarden/distconf_binding.cpp +++ b/ydb/core/blobstorage/nodewarden/distconf_binding.cpp @@ -58,7 +58,7 @@ namespace NKikimr::NStorage { // issue updates NodeIds = std::move(nodeIds); BindQueue.Update(NodeIds); - if (StorageConfig) { + if (NodeListObtained && StorageConfigLoaded) { IssueNextBindRequest(); } }