diff options
author | Innokentii Mokin <innokentii@ydb.tech> | 2025-02-10 19:49:58 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-10 19:49:58 +0300 |
commit | ca50229766bcc6c49b20ddc076939d18b9dbfb07 (patch) | |
tree | 08f15c76cdc8e956e8686e43112f479bc4996cee | |
parent | 759115d20cebf07767af9060063a9947cf29ce69 (diff) | |
download | ydb-ca50229766bcc6c49b20ddc076939d18b9dbfb07.tar.gz |
Fix backward compatibility and ui for per-database configs (#14395)
-rw-r--r-- | ydb/core/cms/console/console.cpp | 9 | ||||
-rw-r--r-- | ydb/core/cms/console/console__get_yaml_config.cpp | 5 | ||||
-rw-r--r-- | ydb/core/cms/console/console_configs_manager.cpp | 1 | ||||
-rw-r--r-- | ydb/core/cms/console/console_configs_manager.h | 1 | ||||
-rw-r--r-- | ydb/core/cms/console/console_impl.h | 2 | ||||
-rw-r--r-- | ydb/core/cms/console/console_tenants_manager.h | 4 | ||||
-rw-r--r-- | ydb/core/cms/ui/yaml_config.js | 2 |
7 files changed, 22 insertions, 2 deletions
diff --git a/ydb/core/cms/console/console.cpp b/ydb/core/cms/console/console.cpp index 677563efaa..de9e88f686 100644 --- a/ydb/core/cms/console/console.cpp +++ b/ydb/core/cms/console/console.cpp @@ -195,6 +195,15 @@ bool TConsole::HasTenant(const TString& path) const return TenantsManager->HasTenant(path); } +TString TConsole::GetDomainName() const +{ + if (!TenantsManager) { + return {}; + } + + return TenantsManager->GetDomainName(); +} + IActor *CreateConsole(const TActorId &tablet, TTabletStorageInfo *info) { return new TConsole(tablet, info); diff --git a/ydb/core/cms/console/console__get_yaml_config.cpp b/ydb/core/cms/console/console__get_yaml_config.cpp index 65e52fb9b4..203d43c45d 100644 --- a/ydb/core/cms/console/console__get_yaml_config.cpp +++ b/ydb/core/cms/console/console__get_yaml_config.cpp @@ -20,7 +20,10 @@ public: { Response = MakeHolder<TEvConsole::TEvGetAllConfigsResponse>(); - if (IngressDatabase) { + if (IngressDatabase + // treat root (domain) database as cluster for backward compatibility + && *IngressDatabase != Self->DomainName && *IngressDatabase != ("/" + Self->DomainName)) + { if (Self->DatabaseYamlConfigs.contains(*IngressDatabase)) { auto& identity = *Response->Record.MutableResponse()->add_identity(); identity.set_database(*IngressDatabase); diff --git a/ydb/core/cms/console/console_configs_manager.cpp b/ydb/core/cms/console/console_configs_manager.cpp index 9aafe61987..b47b417511 100644 --- a/ydb/core/cms/console/console_configs_manager.cpp +++ b/ydb/core/cms/console/console_configs_manager.cpp @@ -189,6 +189,7 @@ void TConfigsManager::Bootstrap(const TActorContext &ctx) Become(&TThis::StateWork); ClusterName = AppData(ctx)->ClusterName; + DomainName = Self.GetDomainName(); TxProcessor = Self.GetTxProcessor()->GetSubProcessor("configs", ctx, diff --git a/ydb/core/cms/console/console_configs_manager.h b/ydb/core/cms/console/console_configs_manager.h index c345a5ae3f..60acbe17f3 100644 --- a/ydb/core/cms/console/console_configs_manager.h +++ b/ydb/core/cms/console/console_configs_manager.h @@ -302,6 +302,7 @@ public: private: TConsole &Self; TConfigsConfig Config; + TString DomainName; // All config items by id. TConfigIndex ConfigIndex; ui64 NextConfigItemId; diff --git a/ydb/core/cms/console/console_impl.h b/ydb/core/cms/console/console_impl.h index a5de732504..9d64ee6475 100644 --- a/ydb/core/cms/console/console_impl.h +++ b/ydb/core/cms/console/console_impl.h @@ -181,6 +181,8 @@ public: bool HasTenant(const TString& path) const; + TString GetDomainName() const; + private: TDeque<TAutoPtr<IEventHandle>> InitQueue; NKikimrConsole::TConfig Config; diff --git a/ydb/core/cms/console/console_tenants_manager.h b/ydb/core/cms/console/console_tenants_manager.h index 04c9255882..f032338b86 100644 --- a/ydb/core/cms/console/console_tenants_manager.h +++ b/ydb/core/cms/console/console_tenants_manager.h @@ -1010,6 +1010,10 @@ public: return Tenants.contains(path); } + TString GetDomainName() const { + return Domain->Name; + } + private: TConsole &Self; TDomainsInfo::TDomain::TPtr Domain; diff --git a/ydb/core/cms/ui/yaml_config.js b/ydb/core/cms/ui/yaml_config.js index 1352da8446..37f1625211 100644 --- a/ydb/core/cms/ui/yaml_config.js +++ b/ydb/core/cms/ui/yaml_config.js @@ -242,7 +242,7 @@ class YamlConfigState { $('#yaml-version').text(data.Response.identity.version); if (this.config !== data.Response.config) { - this.codeMirror.setValue((data.Response.config !== undefined) ? data.Response.config : ""); + this.codeMirror.setValue((data.Response.config !== undefined) ? data.Response.config[0] : ""); this.codeMirror.trigger('fold', 'editor.foldLevel2'); this.config = data.Response.config; } |