From b6bb2a22f374179025a827e22c15238a174cb73a Mon Sep 17 00:00:00 2001 From: Alexander Petrukhin Date: Tue, 5 Mar 2024 18:41:13 +0300 Subject: [PATCH] [cms] add start_time in public cms maintenance api (#2452) --- ydb/core/cms/api_adapters.cpp | 1 + ydb/core/cms/cms.cpp | 1 + ydb/core/protos/cms.proto | 1 + ydb/public/api/protos/draft/ydb_maintenance.proto | 2 ++ 4 files changed, 5 insertions(+) diff --git a/ydb/core/cms/api_adapters.cpp b/ydb/core/cms/api_adapters.cpp index 4ec7c2c7c11b..18fe27185554 100644 --- a/ydb/core/cms/api_adapters.cpp +++ b/ydb/core/cms/api_adapters.cpp @@ -163,6 +163,7 @@ class TListClusterNodes: public TAdapterActor< out.set_host(in.Host); out.set_port(in.IcPort); out.set_state(ConvertNodeState(in.State)); + *out.mutable_start_time() = TimeUtil::MicrosecondsToTimestamp(in.StartTime.GetValue()); auto& location = *out.mutable_location(); location.set_data_center(in.Location.GetDataCenterId()); diff --git a/ydb/core/cms/cms.cpp b/ydb/core/cms/cms.cpp index 12f543aa5cc8..6e3335b45695 100644 --- a/ydb/core/cms/cms.cpp +++ b/ydb/core/cms/cms.cpp @@ -1160,6 +1160,7 @@ void TCms::AddHostState(const TClusterInfoPtr &clusterInfo, const TNodeInfo &nod host->SetNodeId(node.NodeId); host->SetInterconnectPort(node.IcPort); host->SetTimestamp(timestamp.GetValue()); + host->SetStartTimeSeconds(node.StartTime.Seconds()); node.Location.Serialize(host->MutableLocation(), false); for (auto marker : node.Markers) { host->AddMarkers(marker); diff --git a/ydb/core/protos/cms.proto b/ydb/core/protos/cms.proto index e8d9160f3332..680a5b72accf 100644 --- a/ydb/core/protos/cms.proto +++ b/ydb/core/protos/cms.proto @@ -77,6 +77,7 @@ message THostState { optional uint32 InterconnectPort = 7; repeated EMarker Markers = 8; optional NActorsInterconnect.TNodeLocation Location = 9; + optional uint32 StartTimeSeconds = 10; } message TClusterState { diff --git a/ydb/public/api/protos/draft/ydb_maintenance.proto b/ydb/public/api/protos/draft/ydb_maintenance.proto index 904fdc2ed331..8dc461221314 100644 --- a/ydb/public/api/protos/draft/ydb_maintenance.proto +++ b/ydb/public/api/protos/draft/ydb_maintenance.proto @@ -41,6 +41,8 @@ message Node { StorageNode storage = 6; DynamicNode dynamic = 7; } + // start_time defines time when node was registered in cms. + google.protobuf.Timestamp start_time = 8; } message ListClusterNodesRequest {