diff options
| -rw-r--r-- | ydb/core/cms/api_adapters.cpp | 3 | ||||
| -rw-r--r-- | ydb/core/cms/cms.cpp | 7 | ||||
| -rw-r--r-- | ydb/core/protos/cms.proto | 1 | ||||
| -rw-r--r-- | ydb/public/api/protos/draft/ydb_maintenance.proto | 2 |
4 files changed, 9 insertions, 4 deletions
diff --git a/ydb/core/cms/api_adapters.cpp b/ydb/core/cms/api_adapters.cpp index 6badb393995..3d46802131b 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()); @@ -561,7 +562,7 @@ public: opts.set_description(request.GetReason()); opts.set_availability_mode(ConvertAvailabilityMode(request.GetAvailabilityMode())); opts.set_priority(request.GetPriority()); - + // pending actions for (const auto& action : request.GetActions()) { ConvertAction(action, *result.add_action_group_states()->add_action_states()); diff --git a/ydb/core/cms/cms.cpp b/ydb/core/cms/cms.cpp index 2e81ac5d1ac..58cbe297972 100644 --- a/ydb/core/cms/cms.cpp +++ b/ydb/core/cms/cms.cpp @@ -239,7 +239,7 @@ void TCms::ProcessInitQueue(const TActorContext &ctx) void TCms::SubscribeForConfig(const TActorContext &ctx) { - NConsole::SubscribeViaConfigDispatcher(ctx, {(ui32)NKikimrConsole::TConfigItem::CmsConfigItem, + NConsole::SubscribeViaConfigDispatcher(ctx, {(ui32)NKikimrConsole::TConfigItem::CmsConfigItem, (ui32)NKikimrConsole::TConfigItem::FeatureFlagsItem}, ctx.SelfID); } @@ -1159,6 +1159,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); @@ -1982,7 +1983,7 @@ void TCms::Handle(TEvCms::TEvCheckRequest::TPtr &ev, const TActorContext &ctx) resp->Record.SetRequestId(scheduled.RequestId); ClusterInfo->ScheduleActions(scheduled, &ctx); - + copy = new TRequestInfo(scheduled); State->ScheduledRequests.emplace(rec.GetRequestId(), std::move(scheduled)); } else { @@ -2265,7 +2266,7 @@ void TCms::Handle(TEvCms::TEvGetSentinelStateRequest::TPtr &ev, const TActorCont void TCms::Handle(TEvConsole::TEvConfigNotificationRequest::TPtr &ev, const TActorContext &ctx) -{ +{ const auto& appConfig = ev->Get()->Record.GetConfig(); if (appConfig.HasFeatureFlags()) { EnableCMSRequestPriorities = appConfig.GetFeatureFlags().GetEnableCMSRequestPriorities(); diff --git a/ydb/core/protos/cms.proto b/ydb/core/protos/cms.proto index 9d0923d6897..0b929eb9ae0 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 610aeae86c0..27d167e4ebf 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 { |
