diff options
author | Oleg Doronin <dorooleg@yandex.ru> | 2024-12-06 19:21:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-06 21:21:44 +0300 |
commit | 6b63b7de494b201ef1f3e76701003bbc3445458f (patch) | |
tree | 2aa38cc4245f950f98d887083dad335b118e3c7d | |
parent | c0ef82b05486d7a8d7b0c90aec2fa3fc547bf20e (diff) | |
download | ydb-6b63b7de494b201ef1f3e76701003bbc3445458f.tar.gz |
Revert "rework grpc monitoring (#11191)" (#12374)
3 files changed, 27 insertions, 46 deletions
diff --git a/ydb/core/fq/libs/compute/ydb/control_plane/compute_database_control_plane_service.cpp b/ydb/core/fq/libs/compute/ydb/control_plane/compute_database_control_plane_service.cpp index b1e77602de9..e6cb95298d4 100644 --- a/ydb/core/fq/libs/compute/ydb/control_plane/compute_database_control_plane_service.cpp +++ b/ydb/core/fq/libs/compute/ydb/control_plane/compute_database_control_plane_service.cpp @@ -11,7 +11,6 @@ #include <ydb/library/security/ydb_credentials_provider_factory.h> #include <ydb/public/lib/fq/scope.h> -#include <ydb/public/sdk/cpp/client/resources/ydb_resources.h> #include <ydb/public/sdk/cpp/client/ydb_query/client.h> #include <ydb/public/sdk/cpp/client/ydb_operation/operation.h> @@ -309,18 +308,6 @@ private: }; }; -bool IsValidLoadControlConfig(const NConfig::TLoadControlConfig& config) { - if (!config.GetEnable()) { - return true; - } - - const auto& databaseConnection = config.GetDatabaseConnection(); - if (!databaseConnection.GetDatabase()) { - return false; - } - return databaseConnection.GetEndpoint() || config.GetMonitoringEndpoint(); -} - } class TComputeDatabaseControlPlaneServiceActor : public NActors::TActorBootstrapped<TComputeDatabaseControlPlaneServiceActor> { @@ -355,7 +342,7 @@ public: switch (controlPlane.type_case()) { case NConfig::TYdbComputeControlPlane::TYPE_NOT_SET: case NConfig::TYdbComputeControlPlane::kSingle: - CreateSingleClientActors(); + CreateSingleClientActors(controlPlane.GetSingle()); break; case NConfig::TYdbComputeControlPlane::kCms: CreateCmsClientActors(controlPlane.GetCms(), controlPlane.GetDatabasesCacheReloadPeriod()); @@ -374,13 +361,11 @@ public: if (connection.GetCertificateFile()) { settings.CertificateRootCA = StripString(TFileInput(connection.GetCertificateFile()).ReadAll()); } - settings.Headers[NYdb::YDB_DATABASE_HEADER] = connection.GetDatabase(); return settings; } - static NGrpcActorClient::TGrpcClientSettings CreateGrpcClientSettings(const NConfig::TComputeDatabaseConfig& config) { + static NGrpcActorClient::TGrpcClientSettings CreateGrpcClientSettings(const auto& connection) { NGrpcActorClient::TGrpcClientSettings settings; - const auto& connection = config.GetExecutionConnection(); settings.Endpoint = connection.GetEndpoint(); settings.EnableSsl = connection.GetUseSsl(); if (connection.GetCertificateFile()) { @@ -390,21 +375,23 @@ public: return settings; } - void CreateSingleClientActors() { + static NGrpcActorClient::TGrpcClientSettings CreateGrpcClientSettings(const NConfig::TComputeDatabaseConfig& config) { + return CreateGrpcClientSettings(config.GetControlPlaneConnection()); + } + + void CreateSingleClientActors(const NConfig::TYdbComputeControlPlane::TSingle& singleConfig) { auto globalLoadConfig = Config.GetYdb().GetLoadControlConfig(); - if (!globalLoadConfig.GetEnable() || !IsValidLoadControlConfig(globalLoadConfig)) { - return; - } - TActorId clientActor; - auto monitoringEndpoint = globalLoadConfig.GetMonitoringEndpoint(); - const auto& databaseConnection = globalLoadConfig.GetDatabaseConnection(); - auto credentialsProvider = CredentialsProviderFactory(GetYdbCredentialSettings(databaseConnection))->CreateProvider(); - if (monitoringEndpoint) { - clientActor = Register(CreateMonitoringRestClientActor(monitoringEndpoint, databaseConnection.GetDatabase(), credentialsProvider).release()); - } else { - clientActor = Register(CreateMonitoringGrpcClientActor(CreateGrpcClientSettings(databaseConnection), credentialsProvider).release()); + if (globalLoadConfig.GetEnable()) { + TActorId clientActor; + auto monitoringEndpoint = globalLoadConfig.GetMonitoringEndpoint(); + auto credentialsProvider = CredentialsProviderFactory(GetYdbCredentialSettings(singleConfig.GetConnection()))->CreateProvider(); + if (monitoringEndpoint) { + clientActor = Register(CreateMonitoringRestClientActor(monitoringEndpoint, singleConfig.GetConnection().GetDatabase(), credentialsProvider).release()); + } else { + clientActor = Register(CreateMonitoringGrpcClientActor(CreateGrpcClientSettings(singleConfig.GetConnection()), credentialsProvider).release()); + } + MonitoringActorId = Register(CreateDatabaseMonitoringActor(clientActor, globalLoadConfig, Counters).release()); } - MonitoringActorId = Register(CreateDatabaseMonitoringActor(clientActor, globalLoadConfig, Counters).release()); } void CreateCmsClientActors(const NConfig::TYdbComputeControlPlane::TCms& cmsConfig, const TString& databasesCacheReloadPeriod) { @@ -418,15 +405,14 @@ public: const NConfig::TLoadControlConfig& loadConfig = config.GetLoadControlConfig().GetEnable() ? config.GetLoadControlConfig() : globalLoadConfig; - if (loadConfig.GetEnable() && IsValidLoadControlConfig(loadConfig)) { + if (loadConfig.GetEnable()) { TActorId clientActor; auto monitoringEndpoint = loadConfig.GetMonitoringEndpoint(); - const auto& databaseConnection = loadConfig.GetDatabaseConnection(); - auto credentialsProvider = CredentialsProviderFactory(GetYdbCredentialSettings(databaseConnection))->CreateProvider(); + auto credentialsProvider = CredentialsProviderFactory(GetYdbCredentialSettings(config.GetControlPlaneConnection()))->CreateProvider(); if (monitoringEndpoint) { - clientActor = Register(CreateMonitoringRestClientActor(monitoringEndpoint, databaseConnection.GetDatabase(), credentialsProvider).release()); + clientActor = Register(CreateMonitoringRestClientActor(monitoringEndpoint, config.GetControlPlaneConnection().GetDatabase(), credentialsProvider).release()); } else { - clientActor = Register(CreateMonitoringGrpcClientActor(CreateGrpcClientSettings(databaseConnection), credentialsProvider).release()); + clientActor = Register(CreateMonitoringGrpcClientActor(CreateGrpcClientSettings(config), credentialsProvider).release()); } databaseMonitoringActor = Register(CreateDatabaseMonitoringActor(clientActor, loadConfig, databaseCounters).release()); } @@ -443,15 +429,14 @@ public: const NConfig::TLoadControlConfig& loadConfig = config.GetLoadControlConfig().GetEnable() ? config.GetLoadControlConfig() : globalLoadConfig; - if (loadConfig.GetEnable() && IsValidLoadControlConfig(loadConfig)) { + if (loadConfig.GetEnable()) { TActorId clientActor; auto monitoringEndpoint = loadConfig.GetMonitoringEndpoint(); - const auto& databaseConnection = loadConfig.GetDatabaseConnection(); - auto credentialsProvider = CredentialsProviderFactory(GetYdbCredentialSettings(databaseConnection))->CreateProvider(); + auto credentialsProvider = CredentialsProviderFactory(GetYdbCredentialSettings(config.GetControlPlaneConnection()))->CreateProvider(); if (monitoringEndpoint) { - clientActor = Register(CreateMonitoringRestClientActor(monitoringEndpoint, databaseConnection.GetDatabase(), credentialsProvider).release()); + clientActor = Register(CreateMonitoringRestClientActor(monitoringEndpoint, config.GetControlPlaneConnection().GetDatabase(), credentialsProvider).release()); } else { - clientActor = Register(CreateMonitoringGrpcClientActor(CreateGrpcClientSettings(databaseConnection), credentialsProvider).release()); + clientActor = Register(CreateMonitoringGrpcClientActor(CreateGrpcClientSettings(config), credentialsProvider).release()); } databaseMonitoringActor = Register(CreateDatabaseMonitoringActor(clientActor, loadConfig, databaseCounters).release()); } diff --git a/ydb/core/fq/libs/compute/ydb/control_plane/ya.make b/ydb/core/fq/libs/compute/ydb/control_plane/ya.make index 26fef7d2d40..486917d343e 100644 --- a/ydb/core/fq/libs/compute/ydb/control_plane/ya.make +++ b/ydb/core/fq/libs/compute/ydb/control_plane/ya.make @@ -21,15 +21,12 @@ PEERDIR( ydb/library/actors/protos ydb/library/db_pool/protos ydb/library/grpc/actor_client - yql/essentials/public/issue - yql/essentials/utils ydb/library/yql/utils/actors ydb/public/api/grpc ydb/public/api/grpc/draft ydb/public/lib/operation_id/protos - ydb/public/sdk/cpp/client/resources - ydb/public/sdk/cpp/client/ydb_operation - ydb/public/sdk/cpp/client/ydb_query + yql/essentials/public/issue + yql/essentials/utils ) YQL_LAST_ABI_VERSION() diff --git a/ydb/core/fq/libs/config/protos/compute.proto b/ydb/core/fq/libs/config/protos/compute.proto index 38ca12b987d..7ce620b59e6 100644 --- a/ydb/core/fq/libs/config/protos/compute.proto +++ b/ydb/core/fq/libs/config/protos/compute.proto @@ -27,7 +27,6 @@ message TLoadControlConfig { bool Strict = 7; // default false, whether to deny execution in load level unavailable uint32 CpuNumber = 8; string MonitoringEndpoint = 9; // if defined, will be used as REST API instead of default GRPC - TYdbStorageConfig DatabaseConnection = 10; } message TWorkloadManagerConfig { |