aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandrew-rykov <arykov@ydb.tech>2023-08-03 11:50:49 +0300
committerandrew-rykov <arykov@ydb.tech>2023-08-03 11:50:49 +0300
commit6da68a27cb677e419a642fb6611393f43fb85966 (patch)
tree55e3e12047be3d7c8252e81cb074f032a71f7909
parenta300941db08fe501772de429549b640f7a72bc12 (diff)
downloadydb-6da68a27cb677e419a642fb6611393f43fb85966.tar.gz
KIKIMR-18353 cluster handlre return domain
-rw-r--r--ydb/core/viewer/json_cluster.h69
-rw-r--r--ydb/core/viewer/protos/viewer.proto1
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 {