diff options
author | andrew-rykov <arykov@ydb.tech> | 2023-08-03 11:50:49 +0300 |
---|---|---|
committer | andrew-rykov <arykov@ydb.tech> | 2023-08-03 11:50:49 +0300 |
commit | 6da68a27cb677e419a642fb6611393f43fb85966 (patch) | |
tree | 55e3e12047be3d7c8252e81cb074f032a71f7909 | |
parent | a300941db08fe501772de429549b640f7a72bc12 (diff) | |
download | ydb-6da68a27cb677e419a642fb6611393f43fb85966.tar.gz |
KIKIMR-18353 cluster handlre return domain
-rw-r--r-- | ydb/core/viewer/json_cluster.h | 69 | ||||
-rw-r--r-- | ydb/core/viewer/protos/viewer.proto | 1 |
2 files changed, 41 insertions, 29 deletions
diff --git a/ydb/core/viewer/json_cluster.h b/ydb/core/viewer/json_cluster.h index 76ade1791a1..dd3e73a8403 100644 --- a/ydb/core/viewer/json_cluster.h +++ b/ydb/core/viewer/json_cluster.h @@ -67,17 +67,19 @@ public: } void SendWhiteboardTabletStateRequest() { - TIntrusivePtr<TDomainsInfo> domains = AppData()->DomainsInfo; - TIntrusivePtr<TDomainsInfo::TDomain> domain = domains->Domains.begin()->second; THashSet<TTabletId> filterTablets; - for (TTabletId id : domain->Coordinators) { - filterTablets.emplace(id); - } - for (TTabletId id : domain->Mediators) { - filterTablets.emplace(id); - } - for (TTabletId id : domain->TxAllocators) { - filterTablets.emplace(id); + TIntrusivePtr<TDomainsInfo> domains = AppData()->DomainsInfo; + if (!domains->Domains.empty()) { + TIntrusivePtr<TDomainsInfo::TDomain> domain = domains->Domains.begin()->second; + for (TTabletId id : domain->Coordinators) { + filterTablets.emplace(id); + } + for (TTabletId id : domain->Mediators) { + filterTablets.emplace(id); + } + for (TTabletId id : domain->TxAllocators) { + filterTablets.emplace(id); + } } const NKikimrSchemeOp::TPathDescription& pathDescription(DescribeResult->GetRecord().GetPathDescription()); if (pathDescription.HasDomainDescription()) { @@ -131,11 +133,13 @@ public: if (!Event->Get()->UserToken.empty()) { request->Record.SetUserToken(Event->Get()->UserToken); } - TIntrusivePtr<TDomainsInfo> domains = AppData()->DomainsInfo; - TIntrusivePtr<TDomainsInfo::TDomain> domain = domains->Domains.begin()->second; - TString domainPath = "/" + domain->Name; NKikimrSchemeOp::TDescribePath* record = request->Record.MutableDescribePath(); - record->SetPath(domainPath); + TIntrusivePtr<TDomainsInfo> domains = AppData()->DomainsInfo; + if (!domains->Domains.empty()) { + TIntrusivePtr<TDomainsInfo::TDomain> domain = domains->Domains.begin()->second; + TString domainPath = "/" + domain->Name; + record->SetPath(domainPath); + } record->MutableOptions()->SetReturnPartitioningInfo(false); record->MutableOptions()->SetReturnPartitionConfig(false); record->MutableOptions()->SetReturnChildren(false); @@ -292,21 +296,23 @@ public: if (Tablets) { MergeWhiteboardResponses(MergedTabletInfo, TabletInfo); TIntrusivePtr<TDomainsInfo> domains = AppData()->DomainsInfo; - TIntrusivePtr<TDomainsInfo::TDomain> domain = domains->Domains.begin()->second; - ui32 hiveDomain = domains->GetHiveDomainUid(domain->DefaultHiveUid); - ui64 defaultStateStorageGroup = domains->GetDefaultStateStorageGroup(hiveDomain); - tablets.emplace(MakeBSControllerID(defaultStateStorageGroup)); - tablets.emplace(MakeConsoleID(defaultStateStorageGroup)); - tablets.emplace(domain->SchemeRoot); - tablets.emplace(domains->GetHive(domain->DefaultHiveUid)); - for (TTabletId id : domain->Coordinators) { - tablets.emplace(id); - } - for (TTabletId id : domain->Mediators) { - tablets.emplace(id); - } - for (TTabletId id : domain->TxAllocators) { - tablets.emplace(id); + if (!domains->Domains.empty()) { + TIntrusivePtr<TDomainsInfo::TDomain> domain = domains->Domains.begin()->second; + ui32 hiveDomain = domains->GetHiveDomainUid(domain->DefaultHiveUid); + ui64 defaultStateStorageGroup = domains->GetDefaultStateStorageGroup(hiveDomain); + tablets.emplace(MakeBSControllerID(defaultStateStorageGroup)); + tablets.emplace(MakeConsoleID(defaultStateStorageGroup)); + tablets.emplace(domain->SchemeRoot); + tablets.emplace(domains->GetHive(domain->DefaultHiveUid)); + for (TTabletId id : domain->Coordinators) { + tablets.emplace(id); + } + for (TTabletId id : domain->Mediators) { + tablets.emplace(id); + } + for (TTabletId id : domain->TxAllocators) { + tablets.emplace(id); + } } if (DescribeResult) { @@ -401,6 +407,11 @@ public: pbCluster.SetStorageTotal(totalStorageSize); pbCluster.SetStorageUsed(totalStorageSize - availableStorageSize); pbCluster.SetHosts(hosts.size()); + TIntrusivePtr<TDomainsInfo> domains = AppData()->DomainsInfo; + if (!domains->Domains.empty()) { + TString domainName = "/" + domains->Domains.begin()->second->Name; + pbCluster.SetDomain(domainName); + } for (const TString& dc : dataCenters) { pbCluster.AddDataCenters(dc); } diff --git a/ydb/core/viewer/protos/viewer.proto b/ydb/core/viewer/protos/viewer.proto index 23b3a18f301..90dc90f1dfb 100644 --- a/ydb/core/viewer/protos/viewer.proto +++ b/ydb/core/viewer/protos/viewer.proto @@ -321,6 +321,7 @@ message TClusterInfo { uint64 Hosts = 44; uint64 Tenants = 45; uint64 Tablets = 46; + string Domain = 47; } enum ETenantType { |