Skip to content

Commit

Permalink
issue-1946: remove duplicated code (#2040)
Browse files Browse the repository at this point in the history
* issue-1946: remove duplicated code

* fix build

* update

* update
  • Loading branch information
yegorskii committed Sep 16, 2024
1 parent 37ab38e commit b9d76e7
Show file tree
Hide file tree
Showing 6 changed files with 64 additions and 79 deletions.
48 changes: 12 additions & 36 deletions cloud/blockstore/libs/daemon/ydb/config_initializer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,12 @@ void TConfigInitializerYdb::InitStorageConfig()
ParseProtoTextFromFileRobust(Options->StorageConfig, storageConfig);
}

AdaptNodeRegistrationParams(storageConfig);
if (ServerConfig && ServerConfig->GetServerConfig()) {
NStorage::AdaptNodeRegistrationParams(
{}, // overriddenNodeType, node type is not passed in cmd line
*ServerConfig->GetServerConfig(),
storageConfig);
}

SetupStorageConfig(storageConfig);

Expand Down Expand Up @@ -264,7 +269,12 @@ void TConfigInitializerYdb::ApplyStorageServiceConfig(const TString& text)
NProto::TStorageServiceConfig storageConfig;
ParseProtoTextFromStringRobust(text, storageConfig);

AdaptNodeRegistrationParams(storageConfig);
if (ServerConfig && ServerConfig->GetServerConfig()) {
NStorage::AdaptNodeRegistrationParams(
{}, // overriddenNodeType, node type is not passed in cmd line
*ServerConfig->GetServerConfig(),
storageConfig);
}

SetupStorageConfig(storageConfig);

Expand Down Expand Up @@ -390,38 +400,4 @@ void TConfigInitializerYdb::ApplyCustomCMSConfigs(const NKikimrConfig::TAppConfi
}
}

void TConfigInitializerYdb::AdaptNodeRegistrationParams(
NProto::TStorageServiceConfig& config)
{
if (!ServerConfig || !ServerConfig->GetServerConfig()) {
return;
}

const auto* serverConfig = ServerConfig->GetServerConfig();

if (!config.GetNodeRegistrationMaxAttempts()) {
config.SetNodeRegistrationMaxAttempts(
serverConfig->GetNodeRegistrationMaxAttempts());
}

if (!config.GetNodeRegistrationTimeout()) {
config.SetNodeRegistrationTimeout(
serverConfig->GetNodeRegistrationTimeout());
}

if (!config.GetNodeRegistrationErrorTimeout()) {
config.SetNodeRegistrationErrorTimeout(
serverConfig->GetNodeRegistrationErrorTimeout());
}

if (!config.GetNodeRegistrationToken()) {
config.SetNodeRegistrationToken(
serverConfig->GetNodeRegistrationToken());
}

if (!config.GetNodeType()) {
config.SetNodeType(serverConfig->GetNodeType());
}
}

} // namespace NCloud::NBlockStore::NServer
1 change: 0 additions & 1 deletion cloud/blockstore/libs/daemon/ydb/config_initializer.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ struct TConfigInitializerYdb final

private:
void SetupStorageConfig(NProto::TStorageServiceConfig& config) const;
void AdaptNodeRegistrationParams(NProto::TStorageServiceConfig& config);

void ApplyDiagnosticsConfig(const TString& text);
void ApplyDiscoveryServiceConfig(const TString& text);
Expand Down
52 changes: 12 additions & 40 deletions cloud/blockstore/libs/disk_agent/config_initializer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,12 @@ void TConfigInitializer::InitStorageConfig()
ParseProtoTextFromFileRobust(Options->StorageConfig, storageConfig);
}

AdaptNodeRegistrationParams(storageConfig);
if (ServerConfig && ServerConfig->GetServerConfig()) {
NStorage::AdaptNodeRegistrationParams(
Options->NodeType,
*ServerConfig->GetServerConfig(),
storageConfig);
}

if (Options->SchemeShardDir) {
storageConfig.SetSchemeShardDir(GetFullSchemeShardDir());
Expand Down Expand Up @@ -383,7 +388,12 @@ void TConfigInitializer::ApplyStorageServiceConfig(const TString& text)
NProto::TStorageServiceConfig storageConfig;
ParseProtoTextFromStringRobust(text, storageConfig);

AdaptNodeRegistrationParams(storageConfig);
if (ServerConfig && ServerConfig->GetServerConfig()) {
NStorage::AdaptNodeRegistrationParams(
Options->NodeType,
*ServerConfig->GetServerConfig(),
storageConfig);
}

storageConfig.SetServiceVersionInfo(GetFullVersionString());
StorageConfig = std::make_shared<NStorage::TStorageConfig>(
Expand Down Expand Up @@ -465,42 +475,4 @@ void TConfigInitializer::ApplyCustomCMSConfigs(const NKikimrConfig::TAppConfig&
}
}

void TConfigInitializer::AdaptNodeRegistrationParams(
NProto::TStorageServiceConfig& config)
{
if (!ServerConfig || !ServerConfig->GetServerConfig()) {
return;
}

const auto* serverConfig = ServerConfig->GetServerConfig();

if (!config.GetNodeRegistrationMaxAttempts()) {
config.SetNodeRegistrationMaxAttempts(
serverConfig->GetNodeRegistrationMaxAttempts());
}

if (!config.GetNodeRegistrationTimeout()) {
config.SetNodeRegistrationTimeout(
serverConfig->GetNodeRegistrationTimeout());
}

if (!config.GetNodeRegistrationErrorTimeout()) {
config.SetNodeRegistrationErrorTimeout(
serverConfig->GetNodeRegistrationErrorTimeout());
}

if (!config.GetNodeRegistrationToken()) {
config.SetNodeRegistrationToken(
serverConfig->GetNodeRegistrationToken());
}

if (Options->NodeType) {
config.SetNodeType(Options->NodeType);
}

if (!config.GetNodeType()) {
config.SetNodeType(serverConfig->GetNodeType());
}
}

} // namespace NCloud::NBlockStore::NServer
1 change: 0 additions & 1 deletion cloud/blockstore/libs/disk_agent/config_initializer.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ struct TConfigInitializer

private:
TString GetFullSchemeShardDir() const;
void AdaptNodeRegistrationParams(NProto::TStorageServiceConfig& config);

void SetupMonitoringConfig(NKikimrConfig::TMonitoringConfig& monConfig) const;
void SetupLogConfig(NKikimrConfig::TLogConfig& logConfig) const;
Expand Down
34 changes: 34 additions & 0 deletions cloud/blockstore/libs/storage/core/config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -958,4 +958,38 @@ const NProto::TStorageServiceConfig& TStorageConfig::GetStorageConfigProto() con
return Impl->StorageServiceConfig;
}

void AdaptNodeRegistrationParams(
const TString& overriddenNodeType,
const NProto::TServerConfig& serverConfig,
NProto::TStorageServiceConfig& storageConfig)
{
if (!storageConfig.GetNodeRegistrationMaxAttempts()) {
storageConfig.SetNodeRegistrationMaxAttempts(
serverConfig.GetNodeRegistrationMaxAttempts());
}

if (!storageConfig.GetNodeRegistrationTimeout()) {
storageConfig.SetNodeRegistrationTimeout(
serverConfig.GetNodeRegistrationTimeout());
}

if (!storageConfig.GetNodeRegistrationErrorTimeout()) {
storageConfig.SetNodeRegistrationErrorTimeout(
serverConfig.GetNodeRegistrationErrorTimeout());
}

if (!storageConfig.GetNodeRegistrationToken()) {
storageConfig.SetNodeRegistrationToken(
serverConfig.GetNodeRegistrationToken());
}

if (overriddenNodeType) {
storageConfig.SetNodeType(overriddenNodeType);
}

if (!storageConfig.GetNodeType()) {
storageConfig.SetNodeType(serverConfig.GetNodeType());
}
}

} // namespace NCloud::NBlockStore::NStorage
7 changes: 6 additions & 1 deletion cloud/blockstore/libs/storage/core/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#include "public.h"


#include <cloud/blockstore/config/server.pb.h>
#include <cloud/blockstore/config/storage.pb.h>
#include <cloud/storage/core/libs/features/features_config.h>
#include <cloud/storage/core/protos/media.pb.h>
Expand Down Expand Up @@ -610,4 +610,9 @@ ui64 GetAllocationUnit(
const TStorageConfig& config,
NCloud::NProto::EStorageMediaKind mediaKind);

void AdaptNodeRegistrationParams(
const TString& overriddenNodeType,
const NProto::TServerConfig& serverConfig,
NProto::TStorageServiceConfig& storageConfig);

} // namespace NCloud::NBlockStore::NStorage

0 comments on commit b9d76e7

Please sign in to comment.