diff options
author | ilnaz <ilnaz@ydb.tech> | 2023-04-05 11:02:25 +0300 |
---|---|---|
committer | ilnaz <ilnaz@ydb.tech> | 2023-04-05 11:02:25 +0300 |
commit | 0a18b03b7d23f8efa1f404296ddda081d2e6693a (patch) | |
tree | d2b6657d7322d9f173a59a9614001297a4794597 | |
parent | d66e99ee21633e529e77c1ab09c1f998cbd678af (diff) | |
download | ydb-0a18b03b7d23f8efa1f404296ddda081d2e6693a.tar.gz |
Style guide changes
53 files changed, 795 insertions, 1299 deletions
diff --git a/ydb/core/cms/cluster_info.cpp b/ydb/core/cms/cluster_info.cpp index d9fb0357b3f..c31c138ce96 100644 --- a/ydb/core/cms/cluster_info.cpp +++ b/ydb/core/cms/cluster_info.cpp @@ -1,12 +1,12 @@ #include "cluster_info.h" -#include "node_checkers.h" #include "cms_state.h" +#include "node_checkers.h" + +#include <ydb/core/protos/services.pb.h> #include <library/cpp/actors/core/actor.h> #include <library/cpp/actors/core/log.h> -#include <ydb/core/protos/services.pb.h> - #include <util/datetime/base.h> #include <util/generic/ptr.h> #include <util/string/builder.h> diff --git a/ydb/core/cms/cluster_info.h b/ydb/core/cms/cluster_info.h index df5c3b5bf35..ff66d8c91a9 100644 --- a/ydb/core/cms/cluster_info.h +++ b/ydb/core/cms/cluster_info.h @@ -1,7 +1,6 @@ #pragma once #include "defs.h" - #include "config.h" #include "downtime.h" #include "node_checkers.h" @@ -31,6 +30,7 @@ namespace NKikimr::NCms { // Forward declarations. class TClusterInfo; using TClusterInfoPtr = TIntrusivePtr<TClusterInfo>; + struct TCmsState; using TCmsStatePtr = TIntrusivePtr<TCmsState>; @@ -65,8 +65,7 @@ struct TPermissionInfo { TPermissionInfo &operator=(const TPermissionInfo &other) = default; TPermissionInfo &operator=(TPermissionInfo &&other) = default; - void CopyTo(NKikimrCms::TPermission &permission) const - { + void CopyTo(NKikimrCms::TPermission &permission) const { permission.SetId(PermissionId); permission.MutableAction()->CopyFrom(Action); permission.SetDeadline(Deadline.GetValue()); @@ -90,8 +89,7 @@ struct TRequestInfo { TRequestInfo &operator=(const TRequestInfo &other) = default; TRequestInfo &operator=(TRequestInfo &&other) = default; - void CopyTo(NKikimrCms::TManageRequestResponse::TScheduledRequest &request) const - { + void CopyTo(NKikimrCms::TManageRequestResponse::TScheduledRequest &request) const { request.SetRequestId(RequestId); request.SetOwner(Owner); request.MutableActions()->CopyFrom(Request.GetActions()); @@ -116,8 +114,7 @@ struct TNotificationInfo { TNotificationInfo &operator=(const TNotificationInfo &other) = default; TNotificationInfo &operator=(TNotificationInfo &&other) = default; - void CopyTo(NKikimrCms::TManageNotificationResponse::TStoredNotification ¬ification) const - { + void CopyTo(NKikimrCms::TManageNotificationResponse::TStoredNotification ¬ification) const { notification.SetNotificationId(NotificationId); notification.SetOwner(Owner); notification.MutableActions()->CopyFrom(Notification.GetActions()); @@ -149,13 +146,13 @@ struct TNotificationInfo { */ class TLockableItem : public TThrRefBase { public: - struct TBaseLock - { + struct TBaseLock { TBaseLock(const TString &owner, const NKikimrCms::TAction &action) : Owner(owner) , Action(action) { } + TBaseLock(const TBaseLock &other) = default; TBaseLock(TBaseLock &&other) = default; @@ -174,6 +171,7 @@ public: LockDeadline = permission.Deadline; ActionDeadline = LockDeadline + TDuration::MicroSeconds(Action.GetDuration()); } + TLock(const TLock &other) = default; TLock(TLock &&other) = default; @@ -226,6 +224,7 @@ public: , RollbackPoint(point) { } + TTemporaryLock(const TTemporaryLock &other) = default; TTemporaryLock(TTemporaryLock &&other) = default; @@ -246,19 +245,17 @@ public: } virtual TString ItemName() const = 0; - virtual TString PrettyItemName() const - { + virtual TString PrettyItemName() const { return ItemName(); } - void AddLock(const TPermissionInfo &permission) - { + void AddLock(const TPermissionInfo &permission) { Y_VERIFY(Lock.Empty()); Lock.ConstructInPlace(permission); } void AddExternalLock(const TNotificationInfo ¬ification, - const NKikimrCms::TAction &action) + const NKikimrCms::TAction &action) { TExternalLock lock(notification, action); auto pos = LowerBound(ExternalLocks.begin(), ExternalLocks.end(), lock, [](auto &l, auto &r) { @@ -267,11 +264,10 @@ public: ExternalLocks.insert(pos, std::move(lock)); } - void ScheduleLock(TScheduledLock &&lock) - { + void ScheduleLock(TScheduledLock &&lock) { auto pos = LowerBound(ScheduledLocks.begin(), ScheduledLocks.end(), lock, [](auto &l, auto &r) { - return l.Order < r.Order; - }); + return l.Order < r.Order; + }); ScheduledLocks.insert(pos, lock); } @@ -300,6 +296,7 @@ public: TVector<TTemporaryLock> TempLocks; ui64 DeactivatedLocksOrder = Max<ui64>(); }; + using TLockableItemPtr = TIntrusivePtr<TLockableItem>; /** @@ -316,8 +313,7 @@ public: TNodeInfo &operator=(const TNodeInfo &other) = default; TNodeInfo &operator=(TNodeInfo &&other) = default; - TString ItemName() const override - { + TString ItemName() const override { return Sprintf("Host %s:%" PRIu16 " (%" PRIu32 ")", Host.data(), IcPort, NodeId); } @@ -338,6 +334,7 @@ public: TServices Services; TInstant StartTime; }; + using TNodeInfoPtr = TIntrusivePtr<TNodeInfo>; /** @@ -400,6 +397,7 @@ public: private: static bool NameToId(const TString &name, TPDiskID &id); }; + using TPDiskInfoPtr = TIntrusivePtr<TPDiskInfo>; /** @@ -442,6 +440,7 @@ public: private: static bool NameToId(const TString &name, TVDiskID &id); }; + using TVDiskInfoPtr = TIntrusivePtr<TVDiskInfo>; /** @@ -467,7 +466,6 @@ struct TBSGroupInfo { */ class TStateStorageRingInfo : public TThrRefBase { public: - /** * Ok: we can allow to restart nodes; * @@ -525,9 +523,7 @@ public: IsDisabled = true; } - RingState CountState(TInstant now, - TDuration retryTime, - TDuration duration) const; + RingState CountState(TInstant now, TDuration retryTime, TDuration duration) const; ui32 RingId = 0; bool IsDisabled = false; @@ -535,9 +531,8 @@ public: TVector<TNodeInfoPtr> Replicas; }; -using TStateStorageRingInfoPtr = TIntrusivePtr<TStateStorageRingInfo>; - +using TStateStorageRingInfoPtr = TIntrusivePtr<TStateStorageRingInfo>; enum EOperationType { OPERATION_TYPE_UNKNOWN = 0, @@ -554,6 +549,7 @@ public: : Type(type) { } + virtual ~TOperationBase() = default; virtual void Do() = 0; @@ -565,17 +561,16 @@ public: const ui32 NodeId; private: - TSimpleSharedPtr<TNodesStateBase> NodesState; public: - TLockNodeOperation(ui32 nodeId, TSimpleSharedPtr<TNodesStateBase> nodesState) : TOperationBase(OPERATION_TYPE_LOCK_NODE) , NodeId(nodeId) , NodesState(nodesState) { } + ~TLockNodeOperation() = default; void Do() override final { @@ -585,7 +580,6 @@ public: void Undo() override final { NodesState->UnlockNode(NodeId); } - }; class TLogRollbackPoint : public TOperationBase { @@ -601,7 +595,6 @@ public: void Undo() override final { return; } - }; class TOperationLogManager { @@ -610,12 +603,11 @@ private: public: void PushRollbackPoint() { - Log.push_back(TSimpleSharedPtr<TOperationBase>(new TLogRollbackPoint())); + Log.emplace_back(new TLogRollbackPoint()); } void AddNodeLockOperation(ui32 nodeId, TSimpleSharedPtr<TNodesStateBase> nodesState) { - Log.push_back(TSimpleSharedPtr<TOperationBase>(new TLockNodeOperation(nodeId, nodesState))); - Log[Log.size() - 1]->Do(); + Log.emplace_back(new TLockNodeOperation(nodeId, nodesState))->Do(); } void RollbackOperations() { @@ -630,8 +622,7 @@ public: } } - void ApplyAction(const NKikimrCms::TAction &action, - TClusterInfoPtr clusterState); + void ApplyAction(const NKikimrCms::TAction &action, TClusterInfoPtr clusterState); }; /** @@ -656,7 +647,7 @@ public: friend TOperationLogManager; TenantNodesCheckers TenantNodesChecker; - TSimpleSharedPtr<TClusterNodesState> ClusterNodes = TSimpleSharedPtr<TClusterNodesState>(new TClusterNodesState(0, 0)); + TSimpleSharedPtr<TClusterNodesState> ClusterNodes = MakeSimpleShared<TClusterNodesState>(0u, 0u); TOperationLogManager LogManager; TOperationLogManager ScheduledLogManager; @@ -689,33 +680,31 @@ public: return StateStorageNodeToRingId[nodeId]; } - bool HasNode(ui32 nodeId) const - { + bool HasNode(ui32 nodeId) const { return Nodes.contains(nodeId); } - bool HasNode(const TString &hostName) const - { + bool HasNode(const TString &hostName) const { ui32 nodeId; - if (TryFromString(hostName, nodeId)) + if (TryFromString(hostName, nodeId)) { return HasNode(nodeId); + } return HostNameToNodeId.contains(hostName); } - const TNodeInfo &Node(ui32 nodeId) const - { + const TNodeInfo &Node(ui32 nodeId) const { Y_VERIFY(HasNode(nodeId)); return *Nodes.find(nodeId)->second; } - TVector<const TNodeInfo *> HostNodes(const TString &hostName) const - { + TVector<const TNodeInfo *> HostNodes(const TString &hostName) const { TVector<const TNodeInfo *> nodes; ui32 nodeId; if (TryFromString(hostName, nodeId)) { - if (HasNode(nodeId)) + if (HasNode(nodeId)) { nodes.push_back(&NodeRef(nodeId)); + } return nodes; } @@ -729,8 +718,7 @@ public: return nodes; } - TVector<const TNodeInfo *> TenantNodes(const TString &tenant) const - { + TVector<const TNodeInfo *> TenantNodes(const TString &tenant) const { TVector<const TNodeInfo *> nodes; auto pr = TenantToNodeId.equal_range(tenant); @@ -743,144 +731,124 @@ public: return nodes; } - size_t NodesCount() const - { + size_t NodesCount() const { return Nodes.size(); } - size_t NodesCount(const TString &hostName) const - { + size_t NodesCount(const TString &hostName) const { ui32 nodeId; - if (TryFromString(hostName, nodeId)) + if (TryFromString(hostName, nodeId)) { return HasNode(nodeId) ? 1 : 0; + } return HostNameToNodeId.count(hostName); } - const TNodes &AllNodes() const - { + const TNodes &AllNodes() const { return Nodes; } - bool HasTablet(ui64 id) const - { + bool HasTablet(ui64 id) const { return Tablets.contains(id); } - const TTabletInfo &Tablet(ui64 id) const - { + const TTabletInfo &Tablet(ui64 id) const { Y_VERIFY(HasTablet(id)); return Tablets.find(id)->second; } - const TTablets &AllTablets() const - { + const TTablets &AllTablets() const { return Tablets; } - bool HasPDisk(TPDiskID pdId) const - { + bool HasPDisk(TPDiskID pdId) const { return PDisks.contains(pdId); } - bool HasPDisk(const TString &name) const - { - if (!TPDiskInfo::IsDeviceName(name)) + bool HasPDisk(const TString &name) const { + if (!TPDiskInfo::IsDeviceName(name)) { return false; + } + auto id = TPDiskInfo::NameToId(name); return PDisks.contains(id); } - bool HasPDisk(const TString &hostName, const TString &path) const - { + bool HasPDisk(const TString &hostName, const TString &path) const { return !!HostNamePathToPDiskId(hostName, path); } - const TPDiskInfo &PDisk(TPDiskID pdId) const - { + const TPDiskInfo &PDisk(TPDiskID pdId) const { Y_VERIFY(HasPDisk(pdId)); return *PDisks.find(pdId)->second; } - const TPDiskInfo &PDisk(const TString &name) const - { + const TPDiskInfo &PDisk(const TString &name) const { auto id = TPDiskInfo::NameToId(name); return PDisk(id); } - const TPDiskInfo &PDisk(const TString &hostName, const TString &path) const - { + const TPDiskInfo &PDisk(const TString &hostName, const TString &path) const { return PDisk(HostNamePathToPDiskId(hostName, path)); } - size_t PDisksCount() const - { + size_t PDisksCount() const { return PDisks.size(); } - const TPDisks &AllPDisks() const - { + const TPDisks &AllPDisks() const { return PDisks; } - bool HasVDisk(const TVDiskID &vdId) const - { + bool HasVDisk(const TVDiskID &vdId) const { return VDisks.contains(vdId); } - bool HasVDisk(const TString &name) const - { - if (!TVDiskInfo::IsDeviceName(name)) + bool HasVDisk(const TString &name) const { + if (!TVDiskInfo::IsDeviceName(name)) { return false; + } + auto id = TVDiskInfo::NameToId(name); return VDisks.contains(id); } - const TVDiskInfo &VDisk(const TVDiskID &vdId) const - { + const TVDiskInfo &VDisk(const TVDiskID &vdId) const { Y_VERIFY(HasVDisk(vdId)); return *VDisks.find(vdId)->second; } - const TVDiskInfo &VDisk(const TString &name) const - { + const TVDiskInfo &VDisk(const TString &name) const { auto id = TVDiskInfo::NameToId(name); return VDisk(id); } - size_t VDisksCount() const - { + size_t VDisksCount() const { return VDisks.size(); } - const TVDisks &AllVDisks() const - { + const TVDisks &AllVDisks() const { return VDisks; } - bool HasBSGroup(ui32 groupId) const - { + bool HasBSGroup(ui32 groupId) const { return BSGroups.contains(groupId); } - const TBSGroupInfo &BSGroup(ui32 groupId) const - { + const TBSGroupInfo &BSGroup(ui32 groupId) const { Y_VERIFY(HasBSGroup(groupId)); return BSGroups.find(groupId)->second; } - size_t BSGroupsCount() const - { + size_t BSGroupsCount() const { return BSGroups.size(); } - const TBSGroups &AllBSGroups() const - { + const TBSGroups &AllBSGroups() const { return BSGroups; } - TInstant GetTimestamp() const - { + TInstant GetTimestamp() const { return Timestamp; } @@ -904,7 +872,7 @@ public: ui64 AddLocks(const TPermissionInfo &permission, const TActorContext *ctx); ui64 AddLocks(const NKikimrCms::TPermission &permission, const TString &requestId, - const TString &owner, const TActorContext *ctx) + const TString &owner, const TActorContext *ctx) { return AddLocks({permission, requestId, owner}, ctx); } @@ -921,8 +889,7 @@ public: void ReactivateScheduledLocks(); void RollbackLocks(ui64 point); - ui64 PushRollbackPoint() - { + ui64 PushRollbackPoint() { LogManager.PushRollbackPoint(); return ++RollbackPoint; } @@ -947,20 +914,19 @@ public: static bool IsDynamicGroupVDisk(const TVDiskID &vdId) { return EGroupConfigurationType::Dynamic == VDiskConfigurationType(vdId); } private: - TNodeInfo &NodeRef(ui32 nodeId) const - { + TNodeInfo &NodeRef(ui32 nodeId) const { Y_VERIFY(HasNode(nodeId)); return *Nodes.find(nodeId)->second; } - TVector<TNodeInfo *> NodePtrs(const TString &hostName, const TServices &filterByServices = {}) - { + TVector<TNodeInfo *> NodePtrs(const TString &hostName, const TServices &filterByServices = {}) { TVector<TNodeInfo *> nodes; ui32 nodeId; if (TryFromString(hostName, nodeId)) { - if (HasNode(nodeId)) + if (HasNode(nodeId)) { nodes.push_back(&NodeRef(nodeId)); + } return nodes; } @@ -981,32 +947,27 @@ private: return nodes; } - TPDiskInfo &PDiskRef(TPDiskID pdId) - { + TPDiskInfo &PDiskRef(TPDiskID pdId) { Y_VERIFY(HasPDisk(pdId)); return *PDisks.find(pdId)->second; } - TPDiskInfo &PDiskRef(const TString &name) - { + TPDiskInfo &PDiskRef(const TString &name) { TPDiskID id = TPDiskInfo::NameToId(name); return PDiskRef(id); } - TVDiskInfo &VDiskRef(const TVDiskID &vdId) - { + TVDiskInfo &VDiskRef(const TVDiskID &vdId) { Y_VERIFY(HasVDisk(vdId)); return *VDisks.find(vdId)->second; } - TVDiskInfo &VDiskRef(const TString &name) - { + TVDiskInfo &VDiskRef(const TString &name) { TVDiskID id = TVDiskInfo::NameToId(name); return VDiskRef(id); } - TBSGroupInfo &BSGroupRef(ui32 groupId) - { + TBSGroupInfo &BSGroupRef(ui32 groupId) { Y_VERIFY(HasBSGroup(groupId)); return BSGroups.find(groupId)->second; } @@ -1046,8 +1007,8 @@ private: THashMap<TString, TLockableItemPtr> LockableItems; THashSet<ui32> StateStorageReplicas; THashMap<ui32, ui32> StateStorageNodeToRingId; -public: +public: bool IsLocalBootConfDiffersFromConsole = false; THashMap<NKikimrConfig::TBootstrap::ETabletType, TVector<ui32>> TabletTypeToNodes; THashMap<ui32, TVector<NKikimrConfig::TBootstrap::ETabletType>> NodeToTabletTypes; @@ -1056,18 +1017,15 @@ public: TVector<TStateStorageRingInfoPtr> StateStorageRings; }; -inline bool ActionRequiresHost(NKikimrCms::TAction::EType type) -{ +inline bool ActionRequiresHost(NKikimrCms::TAction::EType type) { return type != NKikimrCms::TAction::ADD_HOST && type != NKikimrCms::TAction::ADD_DEVICES && type != NKikimrCms::TAction::REPLACE_DEVICES && type != NKikimrCms::TAction::REMOVE_DEVICES; } -inline bool ActionRequiresHost(const NKikimrCms::TAction &action) -{ +inline bool ActionRequiresHost(const NKikimrCms::TAction &action) { return ActionRequiresHost(action.GetType()); } - } // namespace NKikimr::NCms diff --git a/ydb/core/cms/cluster_info_ut.cpp b/ydb/core/cms/cluster_info_ut.cpp index 2e385e988f4..0e79306a3dd 100644 --- a/ydb/core/cms/cluster_info_ut.cpp +++ b/ydb/core/cms/cluster_info_ut.cpp @@ -1,9 +1,9 @@ #include "cluster_info.h" #include "ut_helpers.h" -#include <library/cpp/actors/interconnect/interconnect.h> #include <ydb/core/node_whiteboard/node_whiteboard.h> +#include <library/cpp/actors/interconnect/interconnect.h> #include <library/cpp/testing/unittest/registar.h> #include <util/system/hostname.h> diff --git a/ydb/core/cms/cms.cpp b/ydb/core/cms/cms.cpp index 356cc7ada8a..89a0d0ca532 100644 --- a/ydb/core/cms/cms.cpp +++ b/ydb/core/cms/cms.cpp @@ -1,6 +1,6 @@ #include "cms_impl.h" -#include "info_collector.h" #include "erasure_checkers.h" +#include "info_collector.h" #include "node_checkers.h" #include "scheme.h" #include "sentinel.h" @@ -33,7 +33,6 @@ namespace NKikimr::NCms { using namespace NNodeWhiteboard; using namespace NKikimrCms; - void TCms::OnActivateExecutor(const TActorContext &ctx) { if (AppData(ctx)->DomainsInfo->Domains.size() > 1) { @@ -1105,7 +1104,6 @@ void TCms::RemovePermission(TEvCms::TEvManagePermissionRequest::TPtr &ev, bool d ids.push_back(id); } - LOG_DEBUG(ctx, NKikimrServices::CMS, "Resulting status: %s %s", TStatus::ECode_Name(resp->Record.GetStatus().GetCode()).data(), resp->Record.GetStatus().GetReason().data()); @@ -1177,7 +1175,6 @@ void TCms::RemoveRequest(TEvCms::TEvManageRequestRequest::TPtr &ev, const TActor } } - LOG_DEBUG(ctx, NKikimrServices::CMS, "Resulting status: %s %s", TStatus::ECode_Name(resp->Record.GetStatus().GetCode()).data(), resp->Record.GetStatus().GetReason().data()); diff --git a/ydb/core/cms/cms.h b/ydb/core/cms/cms.h index 55775843d57..c973c47f04a 100644 --- a/ydb/core/cms/cms.h +++ b/ydb/core/cms/cms.h @@ -4,9 +4,10 @@ #include "cluster_info.h" #include "cms_state.h" +#include <ydb/core/protos/cms.pb.h> + #include <library/cpp/actors/interconnect/events_local.h> #include <library/cpp/actors/core/actor.h> -#include <ydb/core/protos/cms.pb.h> /** * Here we declare interface for CMS (Cluster Management System) tablet whose intention @@ -197,8 +198,7 @@ struct TEvCms { struct TEvStoreWalleTask : public TEventLocal<TEvStoreWalleTask, EvStoreWalleTask> { TWalleTaskInfo Task; - TString ToString() const override - { + TString ToString() const override { return Sprintf("%s { Task: %s }", ToStringHeader().data(), Task.ToString().data()); } }; @@ -213,13 +213,11 @@ struct TEvCms { { } - TString ToString() const override - { + TString ToString() const override { return Sprintf("%s { Task: %s Reason %s}", ToStringHeader().data(), TaskId.data(), Reason.data()); } }; - struct TEvWalleTaskStored : public TEventLocal<TEvWalleTaskStored, EvWalleTaskStored> { TString TaskId; @@ -228,8 +226,7 @@ struct TEvCms { { } - TString ToString() const override - { + TString ToString() const override { return Sprintf("%s { TaskId: %s }", ToStringHeader().data(), TaskId.data()); } }; @@ -237,8 +234,7 @@ struct TEvCms { struct TEvRemoveWalleTask : public TEventLocal<TEvRemoveWalleTask, EvRemoveWalleTask> { TString TaskId; - TString ToString() const override - { + TString ToString() const override { return Sprintf("%s { TaskId: %s }", ToStringHeader().data(), TaskId.data()); } }; @@ -251,8 +247,7 @@ struct TEvCms { { } - TString ToString() const override - { + TString ToString() const override { return Sprintf("%s { TaskId: %s }", ToStringHeader().data(), TaskId.data()); } }; @@ -322,13 +317,13 @@ struct TEvCms { }; struct TEvGetSentinelStateRequest : public TEventPB<TEvGetSentinelStateRequest, - NKikimrCms::TGetSentinelStateRequest, - EvGetSentinelStateRequest> { + NKikimrCms::TGetSentinelStateRequest, + EvGetSentinelStateRequest> { }; struct TEvGetSentinelStateResponse : public TEventPB<TEvGetSentinelStateResponse, - NKikimrCms::TGetSentinelStateResponse, - EvGetSentinelStateResponse> { + NKikimrCms::TGetSentinelStateResponse, + EvGetSentinelStateResponse> { }; }; diff --git a/ydb/core/cms/cms_impl.h b/ydb/core/cms/cms_impl.h index 8f940e39fe8..97c4f6b3b3a 100644 --- a/ydb/core/cms/cms_impl.h +++ b/ydb/core/cms/cms_impl.h @@ -7,15 +7,16 @@ #include "services.h" #include "walle.h" -#include <library/cpp/actors/core/hfunc.h> -#include <library/cpp/actors/core/interconnect.h> -#include <ydb/core/base/tablet_pipe.h> #include <ydb/core/base/statestorage_impl.h> +#include <ydb/core/base/tablet_pipe.h> +#include <ydb/core/engine/minikql/flat_local_tx_factory.h> #include <ydb/core/cms/console/console.h> #include <ydb/core/protos/counters_cms.pb.h> #include <ydb/core/tablet/tablet_counters_protobuf.h> #include <ydb/core/tablet_flat/tablet_flat_executed.h> -#include <ydb/core/engine/minikql/flat_local_tx_factory.h> + +#include <library/cpp/actors/core/hfunc.h> +#include <library/cpp/actors/core/interconnect.h> #include <util/datetime/base.h> #include <util/generic/queue.h> @@ -50,8 +51,7 @@ public: bool Success = true; TClusterInfoPtr Info; - TString ToString() const override - { + TString ToString() const override { return "TEvClusterInfo"; } }; @@ -72,7 +72,7 @@ public: struct TEvCleanupLog : public TEventLocal<TEvCleanupLog, EvCleanupLog> {}; }; - void PersistNodeTenants(TTransactionContext& txc, const TActorContext& ctx); + void PersistNodeTenants(TTransactionContext &txc, const TActorContext &ctx); static void AddHostState(const TClusterInfoPtr &clusterInfo, const TNodeInfo &node, NKikimrCms::TClusterStateResponse &resp, TInstant timestamp); @@ -138,29 +138,29 @@ private: ITransaction *CreateTxUpdateConfig(TEvConsole::TEvConfigNotificationRequest::TPtr &ev); ITransaction *CreateTxUpdateDowntimes(); - static void AuditLog(const TActorContext& ctx, const TString& message) { + static void AuditLog(const TActorContext &ctx, const TString &message) { NCms::AuditLog("CMS tablet", message, ctx); } - static void AuditLog(const IEventBase* request, const IEventBase* response, const TActorContext& ctx) { + static void AuditLog(const IEventBase *request, const IEventBase *response, const TActorContext &ctx) { return AuditLog(ctx, TStringBuilder() << "Reply" << ": request# " << request->ToString() << ", response# " << response->ToString()); } - static void Reply(const IEventBase* request, TAutoPtr<IEventHandle> response, const TActorContext& ctx) { + static void Reply(const IEventBase *request, TAutoPtr<IEventHandle> response, const TActorContext &ctx) { AuditLog(request, response->GetBase(), ctx); ctx.Send(response); } template <typename TEvRequestPtr> - static void Reply(TEvRequestPtr& request, THolder<IEventBase> response, const TActorContext& ctx) { + static void Reply(TEvRequestPtr &request, THolder<IEventBase> response, const TActorContext &ctx) { AuditLog(request->Get(), response.Get(), ctx); ctx.Send(request->Sender, response.Release(), 0, request->Cookie); } template <typename TEvResponse, typename TEvRequestPtr> - static void ReplyWithError(TEvRequestPtr& ev, EStatusCode code, const TString& reason, const TActorContext& ctx) { + static void ReplyWithError(TEvRequestPtr &ev, EStatusCode code, const TString &reason, const TActorContext &ctx) { auto response = MakeHolder<TEvResponse>(); response->Record.MutableStatus()->SetCode(code); response->Record.MutableStatus()->SetReason(reason); @@ -168,20 +168,18 @@ private: Reply<TEvRequestPtr>(ev, std::move(response), ctx); } - STFUNC(StateInit) - { + STFUNC(StateInit) { LOG_DEBUG(ctx, NKikimrServices::CMS, "StateInit event type: %" PRIx32 " event: %s", ev->GetTypeRewrite(), ev->ToString().data()); StateInitImpl(ev, ctx); } template <typename TEvRequest, typename TEvResponse> - void HandleNotSupported(typename TEvRequest::TPtr& ev, const TActorContext& ctx) { + void HandleNotSupported(typename TEvRequest::TPtr &ev, const TActorContext &ctx) { ReplyWithError<TEvResponse, typename TEvRequest::TPtr>(ev, NKikimrCms::TStatus::ERROR, NotSupportedReason, ctx); } - STFUNC(StateNotSupported) - { + STFUNC(StateNotSupported) { switch (ev->GetTypeRewrite()) { HFunc(TEvCms::TEvClusterStateRequest, (HandleNotSupported<TEvCms::TEvClusterStateRequest, TEvCms::TEvClusterStateResponse>)); @@ -210,8 +208,7 @@ private: } } - STFUNC(StateWork) - { + STFUNC(StateWork) { switch (ev->GetTypeRewrite()) { HFunc(TEvPrivate::TEvClusterInfo, Handle); HFunc(TEvPrivate::TEvLogAndSend, Handle); @@ -261,69 +258,67 @@ private: void OnDetach(const TActorContext &ctx) override; void OnTabletDead(TEvTablet::TEvTabletDead::TPtr &ev, const TActorContext &ctx) override; - void Enqueue(TAutoPtr<IEventHandle> &ev, - const TActorContext &ctx) override; + void Enqueue(TAutoPtr<IEventHandle> &ev, const TActorContext &ctx) override; void ProcessInitQueue(const TActorContext &ctx); void SubscribeForConfig(const TActorContext &ctx); void AdjustInfo(TClusterInfoPtr &info, const TActorContext &ctx) const; bool CheckPermissionRequest(const NKikimrCms::TPermissionRequest &request, - NKikimrCms::TPermissionResponse &response, - NKikimrCms::TPermissionRequest &scheduled, - const TActorContext &ctx); + NKikimrCms::TPermissionResponse &response, + NKikimrCms::TPermissionRequest &scheduled, + const TActorContext &ctx); bool IsActionHostValid(const NKikimrCms::TAction &action, TErrorInfo &error) const; - bool ParseServices(const NKikimrCms::TAction &action, TServices &services, - TErrorInfo &error) const; + bool ParseServices(const NKikimrCms::TAction &action, TServices &services, TErrorInfo &error) const; bool CheckAccess(const TString &token, - NKikimrCms::TStatus::ECode &code, - TString &error, - const TActorContext &ctx); + NKikimrCms::TStatus::ECode &code, + TString &error, + const TActorContext &ctx); bool CheckAction(const NKikimrCms::TAction &action, const TActionOptions &options, - TErrorInfo &error, const TActorContext &ctx) const; + TErrorInfo &error, const TActorContext &ctx) const; bool CheckActionShutdownNode(const NKikimrCms::TAction &action, - const TActionOptions &options, - const TNodeInfo &node, - TErrorInfo &error, - const TActorContext &ctx) const; + const TActionOptions &options, + const TNodeInfo &node, + TErrorInfo &error, + const TActorContext &ctx) const; bool CheckActionRestartServices(const NKikimrCms::TAction &action, - const TActionOptions &options, - TErrorInfo &error, - const TActorContext &ctx) const; + const TActionOptions &options, + TErrorInfo &error, + const TActorContext &ctx) const; bool CheckActionShutdownHost(const NKikimrCms::TAction &action, - const TActionOptions &options, - TErrorInfo &error, - const TActorContext &ctx) const; + const TActionOptions &options, + TErrorInfo &error, + const TActorContext &ctx) const; bool CheckActionReplaceDevices(const NKikimrCms::TAction &action, - const TActionOptions &options, - TErrorInfo &error) const; + const TActionOptions &options, + TErrorInfo &error) const; bool CheckSysTabletsNode(const NKikimrCms::TAction &action, - const TActionOptions &opts, - const TNodeInfo &node, - TErrorInfo &error) const; + const TActionOptions &opts, + const TNodeInfo &node, + TErrorInfo &error) const; bool TryToLockNode(const NKikimrCms::TAction &action, - const TActionOptions &options, - const TNodeInfo &node, - TErrorInfo& error) const; + const TActionOptions &options, + const TNodeInfo &node, + TErrorInfo &error) const; bool TryToLockPDisk(const NKikimrCms::TAction &action, - const TActionOptions &options, - const TPDiskInfo &pdisk, - TErrorInfo &error) const; + const TActionOptions &options, + const TPDiskInfo &pdisk, + TErrorInfo &error) const; bool TryToLockVDisks(const NKikimrCms::TAction &action, - const TActionOptions &options, - const TSet<TVDiskID> &vdisks, - TErrorInfo &error) const; + const TActionOptions &options, + const TSet<TVDiskID> &vdisks, + TErrorInfo &error) const; bool TryToLockVDisk(const TActionOptions &options, - const TVDiskInfo &vdisk, - TDuration duration, - TErrorInfo &error) const; + const TVDiskInfo &vdisk, + TDuration duration, + TErrorInfo &error) const; bool TryToLockStateStorageReplica(const NKikimrCms::TAction &action, - const TActionOptions &options, - const TNodeInfo &node, - TErrorInfo& error, - const TActorContext &ctx) const; + const TActionOptions &options, + const TNodeInfo &node, + TErrorInfo &error, + const TActorContext &ctx) const; void AcceptPermissions(NKikimrCms::TPermissionResponse &resp, const TString &requestId, - const TString &owner, const TActorContext &ctx, bool check = false); + const TString &owner, const TActorContext &ctx, bool check = false); void ScheduleUpdateClusterInfo(const TActorContext &ctx, bool now = false); void ScheduleCleanup(TInstant time, const TActorContext &ctx); void SchedulePermissionsCleanup(const TActorContext &ctx); @@ -336,30 +331,28 @@ private: void RemoveEmptyWalleTasks(const TActorContext &ctx); void StartCollecting(const TActorContext &ctx); bool CheckNotificationDeadline(const NKikimrCms::TAction &action, TInstant time, - TErrorInfo &error, const TActorContext &ctx) const; + TErrorInfo &error, const TActorContext &ctx) const; bool CheckNotificationRestartServices(const NKikimrCms::TAction &action, TInstant time, - TErrorInfo &error, const TActorContext &ctx) const; + TErrorInfo &error, const TActorContext &ctx) const; bool CheckNotificationShutdownHost(const NKikimrCms::TAction &action, TInstant time, - TErrorInfo &error, const TActorContext &ctx) const; + TErrorInfo &error, const TActorContext &ctx) const; bool CheckNotificationReplaceDevices(const NKikimrCms::TAction &action, TInstant time, - TErrorInfo &error, const TActorContext &ctx) const; + TErrorInfo &error, const TActorContext &ctx) const; bool IsValidNotificationAction(const NKikimrCms::TAction &action, TInstant time, - TErrorInfo &error, const TActorContext &ctx) const; - TString AcceptNotification(const NKikimrCms::TNotification ¬ification, - const TActorContext &ctx); + TErrorInfo &error, const TActorContext &ctx) const; + TString AcceptNotification(const NKikimrCms::TNotification ¬ification, const TActorContext &ctx); bool CheckNotification(const NKikimrCms::TNotification ¬ification, - NKikimrCms::TNotificationResponse &resp, - const TActorContext &ctx) const; + NKikimrCms::TNotificationResponse &resp, + const TActorContext &ctx) const; void Cleanup(const TActorContext &ctx); - void Die(const TActorContext& ctx) override; + void Die(const TActorContext &ctx) override; void GetPermission(TEvCms::TEvManagePermissionRequest::TPtr &ev, bool all, const TActorContext &ctx); void RemovePermission(TEvCms::TEvManagePermissionRequest::TPtr &ev, bool done, const TActorContext &ctx); void GetRequest(TEvCms::TEvManageRequestRequest::TPtr &ev, bool all, const TActorContext &ctx); void RemoveRequest(TEvCms::TEvManageRequestRequest::TPtr &ev, const TActorContext &ctx); - void GetNotifications(TEvCms::TEvManageNotificationRequest::TPtr &ev, bool all, - const TActorContext &ctx); + void GetNotifications(TEvCms::TEvManageNotificationRequest::TPtr &ev, bool all, const TActorContext &ctx); bool RemoveNotification(const TString &id, const TString &user, bool remove, TErrorInfo &error); void EnqueueRequest(TAutoPtr<IEventHandle> ev, const TActorContext &ctx); @@ -370,8 +363,8 @@ private: void ProcessQueue(const TActorContext &ctx); void ProcessRequest(TAutoPtr<IEventHandle> &ev, const TActorContext &ctx); - void AddPermissionExtensions(const NKikimrCms::TAction& action, NKikimrCms::TPermission& perm) const; - void AddHostExtensions(const TString& host, NKikimrCms::TPermission& perm) const; + void AddPermissionExtensions(const NKikimrCms::TAction &action, NKikimrCms::TPermission &perm) const; + void AddHostExtensions(const TString &host, NKikimrCms::TPermission &perm) const; void OnBSCPipeDestroyed(const TActorContext &ctx); @@ -398,12 +391,9 @@ private: void Handle(TEvCms::TEvGetLogTailRequest::TPtr &ev, const TActorContext &ctx); void Handle(TEvCms::TEvGetSentinelStateRequest::TPtr &ev, const TActorContext &ctx); void Handle(TEvCms::TEvGetClusterInfoRequest::TPtr &ev, const TActorContext &ctx); - void Handle(TEvConsole::TEvConfigNotificationRequest::TPtr &ev, - const TActorContext &ctx); - void Handle(TEvConsole::TEvReplaceConfigSubscriptionsResponse::TPtr &ev, - const TActorContext &ctx); - void Handle(TEvents::TEvPoisonPill::TPtr &ev, - const TActorContext &ctx); + void Handle(TEvConsole::TEvConfigNotificationRequest::TPtr &ev, const TActorContext &ctx); + void Handle(TEvConsole::TEvReplaceConfigSubscriptionsResponse::TPtr &ev, const TActorContext &ctx); + void Handle(TEvents::TEvPoisonPill::TPtr &ev, const TActorContext &ctx); void Handle(TEvTabletPipe::TEvClientDestroyed::TPtr &ev, const TActorContext &ctx); void Handle(TEvTabletPipe::TEvClientConnected::TPtr &ev, const TActorContext &ctx); @@ -430,7 +420,7 @@ private: // Monitoring THolder<class NKikimr::TTabletCountersBase> TabletCountersPtr; - TTabletCountersBase* TabletCounters; + TTabletCountersBase *TabletCounters; TInstant InfoCollectorStartTime; @@ -450,11 +440,9 @@ public: TabletCounters = TabletCountersPtr.Get(); } - static constexpr NKikimrServices::TActivity::EType ActorActivityType() - { + static constexpr NKikimrServices::TActivity::EType ActorActivityType() { return NKikimrServices::TActivity::CMS_SERVICE; } - }; } // namespace NKikimr::NCms diff --git a/ydb/core/cms/cms_tenants_ut.cpp b/ydb/core/cms/cms_tenants_ut.cpp index d987374cb47..11592b2e18e 100644 --- a/ydb/core/cms/cms_tenants_ut.cpp +++ b/ydb/core/cms/cms_tenants_ut.cpp @@ -1,7 +1,7 @@ #include "cms_impl.h" +#include "cms_ut_common.h" #include "info_collector.h" #include "ut_helpers.h" -#include "cms_ut_common.h" #include <ydb/core/testlib/basics/appdata.h> #include <ydb/core/testlib/test_client.h> diff --git a/ydb/core/cms/cms_tx_get_log_tail.cpp b/ydb/core/cms/cms_tx_get_log_tail.cpp index 047eb571c0f..e048d40c7d0 100644 --- a/ydb/core/cms/cms_tx_get_log_tail.cpp +++ b/ydb/core/cms/cms_tx_get_log_tail.cpp @@ -16,8 +16,7 @@ public: TTxType GetTxType() const override { return TXTYPE_GET_LOG_TAIL; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { auto &req = Request->Get()->Record; LOG_DEBUG_S(ctx, NKikimrServices::CMS, @@ -46,8 +45,7 @@ public: return true; } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxGetLogTail Complete"); ctx.Send(Request->Sender, Response.Release()); @@ -58,8 +56,7 @@ private: THolder<TEvCms::TEvGetLogTailResponse> Response; }; -ITransaction *TCms::CreateTxGetLogTail(TEvCms::TEvGetLogTailRequest::TPtr &ev) -{ +ITransaction *TCms::CreateTxGetLogTail(TEvCms::TEvGetLogTailRequest::TPtr &ev) { return new TTxGetLogTail(this, ev); } diff --git a/ydb/core/cms/cms_tx_init_scheme.cpp b/ydb/core/cms/cms_tx_init_scheme.cpp index cd73bfb6285..7778ff2565c 100644 --- a/ydb/core/cms/cms_tx_init_scheme.cpp +++ b/ydb/core/cms/cms_tx_init_scheme.cpp @@ -12,8 +12,7 @@ public: TTxType GetTxType() const override { return TXTYPE_INIT_SCHEMA; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxInitScheme Execute"); NIceDb::TNiceDb(txc.DB).Materialize<Schema>(); @@ -21,16 +20,14 @@ public: return true; } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxInitScheme Complete"); Self->Execute(Self->CreateTxLoadState(), ctx); } }; -ITransaction* TCms::CreateTxInitScheme() -{ +ITransaction *TCms::CreateTxInitScheme() { return new TTxInitScheme(this); } diff --git a/ydb/core/cms/cms_tx_load_state.cpp b/ydb/core/cms/cms_tx_load_state.cpp index bacfbdbaba3..eee95a79c5b 100644 --- a/ydb/core/cms/cms_tx_load_state.cpp +++ b/ydb/core/cms/cms_tx_load_state.cpp @@ -18,8 +18,7 @@ public: TTxType GetTxType() const override { return TXTYPE_LOAD_STATE; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxLoadState Execute"); auto state = Self->State; @@ -187,8 +186,7 @@ public: return true; } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxLoadState Complete"); Self->Become(&TCms::StateWork); Self->SchedulePermissionsCleanup(ctx); @@ -199,8 +197,7 @@ public: } }; -ITransaction* TCms::CreateTxLoadState() -{ +ITransaction *TCms::CreateTxLoadState() { return new TTxLoadState(this); } diff --git a/ydb/core/cms/cms_tx_log_and_send.cpp b/ydb/core/cms/cms_tx_log_and_send.cpp index c9929df78ce..b9f2a5ac624 100644 --- a/ydb/core/cms/cms_tx_log_and_send.cpp +++ b/ydb/core/cms/cms_tx_log_and_send.cpp @@ -14,8 +14,7 @@ public: TTxType GetTxType() const override { return TXTYPE_LOG_AND_SEND; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { LOG_DEBUG_S(ctx, NKikimrServices::CMS, "TTxLogAndSend Execute"); @@ -24,8 +23,7 @@ public: return true; } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxLogAndSend Complete"); if (Event->Get()->Event) @@ -36,8 +34,7 @@ private: TEvPrivate::TEvLogAndSend::TPtr Event; }; -ITransaction *TCms::CreateTxLogAndSend(TEvPrivate::TEvLogAndSend::TPtr &ev) -{ +ITransaction *TCms::CreateTxLogAndSend(TEvPrivate::TEvLogAndSend::TPtr &ev) { return new TTxLogAndSend(this, ev); } diff --git a/ydb/core/cms/cms_tx_log_cleanup.cpp b/ydb/core/cms/cms_tx_log_cleanup.cpp index 6a1d966345b..254c22b53e0 100644 --- a/ydb/core/cms/cms_tx_log_cleanup.cpp +++ b/ydb/core/cms/cms_tx_log_cleanup.cpp @@ -12,16 +12,14 @@ public: TTxType GetTxType() const override { return TXTYPE_LOG_CLEANUP; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { LOG_DEBUG_S(ctx, NKikimrServices::CMS, "TTxLogCleanup Execute"); return Self->Logger.DbCleanupLog(txc, ctx); } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxLogCleanup Complete"); Self->ScheduleLogCleanup(ctx); } @@ -29,8 +27,7 @@ public: private: }; -ITransaction *TCms::CreateTxLogCleanup() -{ +ITransaction *TCms::CreateTxLogCleanup() { return new TTxLogCleanup(this); } diff --git a/ydb/core/cms/cms_tx_process_notification.cpp b/ydb/core/cms/cms_tx_process_notification.cpp index 902a39dc92b..5a9bd990139 100644 --- a/ydb/core/cms/cms_tx_process_notification.cpp +++ b/ydb/core/cms/cms_tx_process_notification.cpp @@ -15,8 +15,7 @@ public: TTxType GetTxType() const override { return TXTYPE_PROCESS_NOTIFICATION; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxProcessNotification Execute"); auto &rec = Event->Get()->Record; @@ -49,8 +48,7 @@ public: return true; } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxProcessNotification complete with response: %s", Response->Record.ShortDebugString().data()); @@ -63,8 +61,7 @@ private: TAutoPtr<TEvCms::TEvNotificationResponse> Response; }; -ITransaction* TCms::CreateTxProcessNotification(TEvCms::TEvNotification::TPtr &ev) -{ +ITransaction *TCms::CreateTxProcessNotification(TEvCms::TEvNotification::TPtr &ev) { return new TTxProcessNotification(this, ev.Release()); } diff --git a/ydb/core/cms/cms_tx_reject_notification.cpp b/ydb/core/cms/cms_tx_reject_notification.cpp index 3dc8c6097bc..34689510947 100644 --- a/ydb/core/cms/cms_tx_reject_notification.cpp +++ b/ydb/core/cms/cms_tx_reject_notification.cpp @@ -15,8 +15,7 @@ public: TTxType GetTxType() const override { return TXTYPE_REJECT_NOTIFICATION; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxRejectNotification Execute"); auto &rec = Event->Get()->Record; @@ -50,8 +49,7 @@ public: return true; } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxRejectNotification Complete"); Self->Reply(Event, std::move(Response), ctx); @@ -62,8 +60,7 @@ private: TAutoPtr<TEvCms::TEvManageNotificationResponse> Response; }; -ITransaction *TCms::CreateTxRejectNotification(TEvCms::TEvManageNotificationRequest::TPtr &ev) -{ +ITransaction *TCms::CreateTxRejectNotification(TEvCms::TEvManageNotificationRequest::TPtr &ev) { return new TTxRejectNotification(this, ev.Release()); } diff --git a/ydb/core/cms/cms_tx_remove_expired_notifications.cpp b/ydb/core/cms/cms_tx_remove_expired_notifications.cpp index 574660cd620..99273f1a78b 100644 --- a/ydb/core/cms/cms_tx_remove_expired_notifications.cpp +++ b/ydb/core/cms/cms_tx_remove_expired_notifications.cpp @@ -14,8 +14,7 @@ public: TTxType GetTxType() const override { return TXTYPE_REMOVE_EXPIRED_NOTIFICATION; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxRemoveExpiredNotifications Execute"); TInstant now = ctx.Now(); @@ -69,16 +68,12 @@ public: return true; } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxRemoveExpiredNotifications Complete"); } - -private: }; -ITransaction *TCms::CreateTxRemoveExpiredNotifications() -{ +ITransaction *TCms::CreateTxRemoveExpiredNotifications() { return new TTxRemoveExpiredNotifications(this); } diff --git a/ydb/core/cms/cms_tx_remove_permissions.cpp b/ydb/core/cms/cms_tx_remove_permissions.cpp index c1cbaebdd8b..835ba23be04 100644 --- a/ydb/core/cms/cms_tx_remove_permissions.cpp +++ b/ydb/core/cms/cms_tx_remove_permissions.cpp @@ -18,8 +18,7 @@ public: TTxType GetTxType() const override { return TXTYPE_REMOVE_PERMISSIONS; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxRemovePermissions Execute"); NIceDb::TNiceDb db(txc.DB); @@ -53,8 +52,7 @@ public: return true; } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxRemovePermissions Complete"); if (Response) { @@ -72,7 +70,8 @@ private: bool Expired; }; -ITransaction* TCms::CreateTxRemovePermissions(TVector<TString> ids, THolder<IEventBase> req, TAutoPtr<IEventHandle> resp, bool expired) +ITransaction *TCms::CreateTxRemovePermissions(TVector<TString> ids, THolder<IEventBase> req, TAutoPtr<IEventHandle> resp, + bool expired) { return new TTxRemovePermissions(this, std::move(ids), std::move(req), std::move(resp), expired); } diff --git a/ydb/core/cms/cms_tx_remove_request.cpp b/ydb/core/cms/cms_tx_remove_request.cpp index a890f5aa0e4..0e1e41e1762 100644 --- a/ydb/core/cms/cms_tx_remove_request.cpp +++ b/ydb/core/cms/cms_tx_remove_request.cpp @@ -17,8 +17,7 @@ public: TTxType GetTxType() const override { return TXTYPE_REMOVE_REQUEST; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxRemoveRequest Execute"); NIceDb::TNiceDb db(txc.DB); @@ -32,8 +31,7 @@ public: return true; } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxRemoveRequest Complete"); if (Response) { @@ -50,8 +48,7 @@ private: TString Id; }; -ITransaction* TCms::CreateTxRemoveRequest(const TString &id, THolder<IEventBase> req, TAutoPtr<IEventHandle> resp) -{ +ITransaction *TCms::CreateTxRemoveRequest(const TString &id, THolder<IEventBase> req, TAutoPtr<IEventHandle> resp) { return new TTxRemoveRequest(this, id, std::move(req), std::move(resp)); } diff --git a/ydb/core/cms/cms_tx_remove_walle_task.cpp b/ydb/core/cms/cms_tx_remove_walle_task.cpp index aaff9dab76a..70d4e433775 100644 --- a/ydb/core/cms/cms_tx_remove_walle_task.cpp +++ b/ydb/core/cms/cms_tx_remove_walle_task.cpp @@ -15,8 +15,7 @@ public: TTxType GetTxType() const override { return TXTYPE_REMOVE_WALLE_TASK; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxRemoveWalleTask Execute"); NIceDb::TNiceDb db(txc.DB); @@ -36,8 +35,7 @@ public: return true; } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxRemoveWalleTask Complete"); } @@ -45,8 +43,7 @@ private: TString Id; }; -ITransaction* TCms::CreateTxRemoveWalleTask(const TString &id) -{ +ITransaction *TCms::CreateTxRemoveWalleTask(const TString &id) { return new TTxRemoveWalleTask(this, id); } diff --git a/ydb/core/cms/cms_tx_store_permissions.cpp b/ydb/core/cms/cms_tx_store_permissions.cpp index fc1a2df8743..db8c2b49b47 100644 --- a/ydb/core/cms/cms_tx_store_permissions.cpp +++ b/ydb/core/cms/cms_tx_store_permissions.cpp @@ -8,7 +8,7 @@ namespace NKikimr::NCms { class TCms::TTxStorePermissions : public TTransactionBase<TCms> { public: TTxStorePermissions(TCms *self, THolder<IEventBase> req, TAutoPtr<IEventHandle> resp, - const TString &owner, TAutoPtr<TRequestInfo> scheduled) + const TString &owner, TAutoPtr<TRequestInfo> scheduled) : TBase(self) , Request(std::move(req)) , Response(std::move(resp)) @@ -21,15 +21,14 @@ public: TTxType GetTxType() const override { return TXTYPE_STORE_PERMISSIONS ; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxStorePermissions Execute"); NIceDb::TNiceDb db(txc.DB); db.Table<Schema::Param>().Key(1).Update(NIceDb::TUpdate<Schema::Param::NextPermissionID>(NextPermissionId), NIceDb::TUpdate<Schema::Param::NextRequestID>(NextRequestId)); - const auto& rec = Response->Get<TEvCms::TEvPermissionResponse>()->Record; + const auto &rec = Response->Get<TEvCms::TEvPermissionResponse>()->Record; for (const auto &permission : rec.GetPermissions()) { const auto &id = permission.GetId(); const auto &requestId = Scheduled ? Scheduled->RequestId : ""; @@ -81,8 +80,7 @@ public: return true; } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxStorePermissions complete"); Self->Reply(Request.Get(), Response, ctx); @@ -98,8 +96,8 @@ private: ui64 NextRequestId; }; -ITransaction* TCms::CreateTxStorePermissions(THolder<IEventBase> req, TAutoPtr<IEventHandle> resp, - const TString &owner, TAutoPtr<TRequestInfo> scheduled) +ITransaction *TCms::CreateTxStorePermissions(THolder<IEventBase> req, TAutoPtr<IEventHandle> resp, + const TString &owner, TAutoPtr<TRequestInfo> scheduled) { return new TTxStorePermissions(this, std::move(req), std::move(resp), owner, std::move(scheduled)); } diff --git a/ydb/core/cms/cms_tx_store_walle_task.cpp b/ydb/core/cms/cms_tx_store_walle_task.cpp index 6a2f51dd7fb..981ae8c0f33 100644 --- a/ydb/core/cms/cms_tx_store_walle_task.cpp +++ b/ydb/core/cms/cms_tx_store_walle_task.cpp @@ -19,19 +19,18 @@ public: TTxType GetTxType() const override { return TXTYPE_STORE_WALLE_TASK; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxStoreWalleTask Execute"); for (auto &perm : Task.Permissions) { if (Self->State->Permissions.find(perm) == Self->State->Permissions.end()) { - Response.Reset(new IEventHandle(Response->Recipient, Response->Sender, - new TEvCms::TEvStoreWalleTaskFailed(Task.TaskId, - TStringBuilder() << "There are no stored permissions for this task. " - << "Maybe cleanup ran before task been stored. " - << "Try request again"), - 0, Response->Cookie)); + new TEvCms::TEvStoreWalleTaskFailed(Task.TaskId, TStringBuilder() + << "There are no stored permissions for this task. " + << "Maybe cleanup ran before task been stored. " + << "Try request again"), + 0, Response->Cookie) + ); return true; } } @@ -50,8 +49,7 @@ public: return true; } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxStoreWalleTask Complete"); Self->Reply(Request.Get(), Response, ctx); } @@ -62,8 +60,7 @@ private: TAutoPtr<IEventHandle> Response; }; -ITransaction *TCms::CreateTxStoreWalleTask(const TWalleTaskInfo &task, THolder<IEventBase> req, TAutoPtr<IEventHandle> resp) -{ +ITransaction *TCms::CreateTxStoreWalleTask(const TWalleTaskInfo &task, THolder<IEventBase> req, TAutoPtr<IEventHandle> resp) { return new TTxStoreWalleTask(this, task, std::move(req), std::move(resp)); } diff --git a/ydb/core/cms/cms_tx_update_config.cpp b/ydb/core/cms/cms_tx_update_config.cpp index 033a9cf28e7..a1d7aa61503 100644 --- a/ydb/core/cms/cms_tx_update_config.cpp +++ b/ydb/core/cms/cms_tx_update_config.cpp @@ -6,10 +6,11 @@ namespace NKikimr::NCms { class TCms::TTxUpdateConfig : public TTransactionBase<TCms> { public: - TTxUpdateConfig(TCms *self, - const NKikimrCms::TCmsConfig &config, - TAutoPtr<IEventHandle> response, - ui64 subscriptionId = 0) + TTxUpdateConfig( + TCms *self, + const NKikimrCms::TCmsConfig &config, + TAutoPtr<IEventHandle> response, + ui64 subscriptionId = 0) : TBase(self) , Config(config) , Response(response) @@ -20,10 +21,8 @@ public: TTxType GetTxType() const override { return TXTYPE_UPDATE_CONFIG; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { - LOG_DEBUG_S(ctx, NKikimrServices::CMS, - "TTxUpdateConfig Execute"); + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { + LOG_DEBUG_S(ctx, NKikimrServices::CMS, "TTxUpdateConfig Execute"); if (SubscriptionId != Self->ConfigSubscriptionId) { LOG_ERROR_S(ctx, NKikimrServices::CMS, @@ -41,8 +40,7 @@ public: return true; } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxUpdateConfig Complete"); if (Modify) { @@ -73,8 +71,7 @@ private: bool Modify; }; -ITransaction *TCms::CreateTxUpdateConfig(TEvConsole::TEvConfigNotificationRequest::TPtr &ev) -{ +ITransaction *TCms::CreateTxUpdateConfig(TEvConsole::TEvConfigNotificationRequest::TPtr &ev) { auto &rec = ev->Get()->Record; auto response = MakeHolder<TEvConsole::TEvConfigNotificationResponse>(); @@ -82,20 +79,18 @@ ITransaction *TCms::CreateTxUpdateConfig(TEvConsole::TEvConfigNotificationReques response->Record.MutableConfigId()->CopyFrom(rec.GetConfigId()); return new TTxUpdateConfig(this, rec.GetConfig().GetCmsConfig(), - new IEventHandle(ev->Sender, ev->Recipient, - response.Release(), 0, ev->Cookie), - rec.GetSubscriptionId()); + new IEventHandle(ev->Sender, ev->Recipient, response.Release(), 0, ev->Cookie), + rec.GetSubscriptionId() + ); } -ITransaction *TCms::CreateTxUpdateConfig(TEvCms::TEvSetConfigRequest::TPtr &ev) -{ - TAutoPtr<TEvCms::TEvSetConfigResponse> response - = new TEvCms::TEvSetConfigResponse; +ITransaction *TCms::CreateTxUpdateConfig(TEvCms::TEvSetConfigRequest::TPtr &ev) { + TAutoPtr<TEvCms::TEvSetConfigResponse> response = new TEvCms::TEvSetConfigResponse; response->Record.MutableStatus()->SetCode(NKikimrCms::TStatus::OK); return new TTxUpdateConfig(this, ev->Get()->Record.GetConfig(), - new IEventHandle(ev->Sender, ev->Recipient, - response.Release(), 0, ev->Cookie), - ConfigSubscriptionId); + new IEventHandle(ev->Sender, ev->Recipient, response.Release(), 0, ev->Cookie), + ConfigSubscriptionId + ); } } // namespace NKikimr::NCms diff --git a/ydb/core/cms/cms_tx_update_downtimes.cpp b/ydb/core/cms/cms_tx_update_downtimes.cpp index c44b1323767..448148b2f41 100644 --- a/ydb/core/cms/cms_tx_update_downtimes.cpp +++ b/ydb/core/cms/cms_tx_update_downtimes.cpp @@ -12,8 +12,7 @@ public: TTxType GetTxType() const override { return TXTYPE_UPDATE_DOWNTIMES; } - bool Execute(TTransactionContext &txc, const TActorContext &ctx) override - { + bool Execute(TTransactionContext &txc, const TActorContext &ctx) override { LOG_DEBUG_S(ctx, NKikimrServices::CMS, "TTxUpdateDowntimes Execute"); @@ -23,16 +22,12 @@ public: return true; } - void Complete(const TActorContext &ctx) override - { + void Complete(const TActorContext &ctx) override { LOG_DEBUG(ctx, NKikimrServices::CMS, "TTxUpdateDowntimes Complete"); } - -private: }; -ITransaction *TCms::CreateTxUpdateDowntimes() -{ +ITransaction *TCms::CreateTxUpdateDowntimes() { return new TTxUpdateDowntimes(this); } diff --git a/ydb/core/cms/cms_ut_common.h b/ydb/core/cms/cms_ut_common.h index 69fcf0fa222..24e5db6b6b5 100644 --- a/ydb/core/cms/cms_ut_common.h +++ b/ydb/core/cms/cms_ut_common.h @@ -1,4 +1,5 @@ #pragma once + #include "cms.h" #include "ut_helpers.h" @@ -6,23 +7,22 @@ #include <ydb/core/base/statestorage.h> #include <ydb/core/cms/console/console.h> #include <ydb/core/cms/console/configs_dispatcher.h> -#include <ydb/core/node_whiteboard/node_whiteboard.h> #include <ydb/core/mind/tenant_pool.h> +#include <ydb/core/node_whiteboard/node_whiteboard.h> #include <ydb/core/testlib/basics/helpers.h> #include <ydb/core/testlib/basics/runtime.h> -#include <util/system/mutex.h> #include <util/datetime/base.h> +#include <util/system/mutex.h> -namespace NKikimr { -namespace NCmsTest { +namespace NKikimr::NCmsTest { using NNodeWhiteboard::TTabletId; using TNodeTenantsMap = THashMap<ui32, TVector<TString>>; struct TFakeNodeInfo { struct TVDiskIDComparator { - bool operator ()(const TVDiskID& a, const TVDiskID& b) const { + bool operator ()(const TVDiskID &a, const TVDiskID &b) const { return std::make_tuple(a.GroupID, a.FailRealm, a.FailDomain, a.VDisk) < std::make_tuple(b.GroupID, b.FailRealm, b.FailDomain, b.VDisk); } @@ -48,14 +48,12 @@ public: static inline ui32 NoisyBSCPipeCounter = 0; static inline TMutex Mutex; - void Bootstrap(const TActorContext &ctx) - { + void Bootstrap(const TActorContext &ctx) { Y_UNUSED(ctx); Become(&TFakeNodeWhiteboardService::StateWork); } - STFUNC(StateWork) - { + STFUNC(StateWork) { switch (ev->GetTypeRewrite()) { HFunc(TEvBlobStorage::TEvControllerConfigRequest, Handle); HFunc(TEvWhiteboard::TEvTabletStateRequest, Handle); @@ -67,7 +65,6 @@ public: } } - void Handle(NConsole::TEvConfigsDispatcher::TEvGetConfigRequest::TPtr &ev, const TActorContext &ctx); void Handle(TEvBlobStorage::TEvControllerConfigRequest::TPtr &ev, const TActorContext &ctx); void Handle(TEvWhiteboard::TEvTabletStateRequest::TPtr &ev, const TActorContext &ctx); @@ -91,28 +88,25 @@ struct TTestEnvOpts { TTestEnvOpts() = default; TTestEnvOpts(ui32 nodeCount, - ui32 vdisks = 1, - const TNodeTenantsMap &tenants = TNodeTenantsMap()) - : NodeCount(nodeCount) - , VDisks(vdisks) - , NToSelect(1) - , NRings(1) - , RingSize(nodeCount) - , DataCenterCount(1) - , Tenants(tenants) - , UseMirror3dcErasure(false) - , AdvanceCurrentTime(false) + ui32 vdisks = 1, + const TNodeTenantsMap &tenants = TNodeTenantsMap()) + : NodeCount(nodeCount) + , VDisks(vdisks) + , NToSelect(1) + , NRings(1) + , RingSize(nodeCount) + , DataCenterCount(1) + , Tenants(tenants) + , UseMirror3dcErasure(false) + , AdvanceCurrentTime(false) { } }; class TCmsTestEnv : public TTestBasicRuntime { public: - TCmsTestEnv(ui32 nodeCount, - ui32 vdisks = 1, - const TNodeTenantsMap &tenants = TNodeTenantsMap()); - TCmsTestEnv(ui32 nodeCount, - const TNodeTenantsMap &tenants); + TCmsTestEnv(ui32 nodeCount, ui32 vdisks = 1, const TNodeTenantsMap &tenants = {}); + TCmsTestEnv(ui32 nodeCount, const TNodeTenantsMap &tenants); TCmsTestEnv(const TTestEnvOpts &options); TActorId GetSender() { return Sender; } @@ -127,10 +121,7 @@ public: NKikimrCms::TCmsConfig GetCmsConfig(); void SendCmsConfig(const NKikimrCms::TCmsConfig &config); void SetCmsConfig(const NKikimrCms::TCmsConfig &config); - void SetLimits(ui32 tenantLimit, - ui32 tenantRatioLimit, - ui32 clusterLimit, - ui32 clusterRatioLimit); + void SetLimits(ui32 tenantLimit, ui32 tenantRatioLimit, ui32 clusterLimit, ui32 clusterRatioLimit); void EnableSysNodeChecking(); TIntrusiveConstPtr<NKikimr::TStateStorageInfo> GetStateStorageInfo(); @@ -139,24 +130,22 @@ public: TFakeNodeWhiteboardService::Info[GetNodeId(nodeIndex)].SystemStateInfo.SetStartTime(startTime.GetValue()); } - NKikimrCms::TClusterState - RequestState(const NKikimrCms::TClusterStateRequest &request = {}, - NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); - - std::pair<TString, TVector<TString>> - ExtractPermissions(const NKikimrCms::TPermissionResponse &response); - - template<typename... Ts> - NKikimrCms::TPermissionResponse - CheckPermissionRequest(const TString &user, - bool partial, - bool dry, - bool schedule, - bool defaultTenantPolicy, - TDuration duration, - NKikimrCms::EAvailabilityMode availabilityMode, - NKikimrCms::TStatus::ECode code, - Ts... actions) + NKikimrCms::TClusterState RequestState(const NKikimrCms::TClusterStateRequest &request = {}, + NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); + + std::pair<TString, TVector<TString>> ExtractPermissions(const NKikimrCms::TPermissionResponse &response); + + template <typename... Ts> + NKikimrCms::TPermissionResponse CheckPermissionRequest( + const TString &user, + bool partial, + bool dry, + bool schedule, + bool defaultTenantPolicy, + TDuration duration, + NKikimrCms::EAvailabilityMode availabilityMode, + NKikimrCms::TStatus::ECode code, + Ts... actions) { auto req = MakePermissionRequest(user, partial, dry, schedule, actions...); if (!defaultTenantPolicy) @@ -166,211 +155,197 @@ public: req->Record.SetAvailabilityMode(availabilityMode); return CheckPermissionRequest(req, code); } - template<typename... Ts> - NKikimrCms::TPermissionResponse - CheckPermissionRequest(const TString &user, - bool partial, - bool dry, - bool schedule, - bool defaultTenantPolicy, - NKikimrCms::EAvailabilityMode availabilityMode, - NKikimrCms::TStatus::ECode code, - Ts... actions) + + template <typename... Ts> + NKikimrCms::TPermissionResponse CheckPermissionRequest( + const TString &user, + bool partial, + bool dry, + bool schedule, + bool defaultTenantPolicy, + NKikimrCms::EAvailabilityMode availabilityMode, + NKikimrCms::TStatus::ECode code, + Ts... actions) { return CheckPermissionRequest(user, partial, dry, schedule, defaultTenantPolicy, TDuration::Zero(), availabilityMode, code, actions...); } - template<typename... Ts> - NKikimrCms::TPermissionResponse - CheckPermissionRequest(const TString &user, - bool partial, - bool dry, - bool schedule, - bool defaultTenantPolicy, - TDuration duration, - NKikimrCms::TStatus::ECode code, - Ts... actions) + template <typename... Ts> + NKikimrCms::TPermissionResponse CheckPermissionRequest( + const TString &user, + bool partial, + bool dry, + bool schedule, + bool defaultTenantPolicy, + TDuration duration, + NKikimrCms::TStatus::ECode code, + Ts... actions) { - return CheckPermissionRequest(user, partial, dry, schedule, - defaultTenantPolicy, duration, - NKikimrCms::MODE_MAX_AVAILABILITY, - code, actions...); + return CheckPermissionRequest(user, partial, dry, schedule, defaultTenantPolicy, + duration, NKikimrCms::MODE_MAX_AVAILABILITY, code, actions...); } - template<typename... Ts> - NKikimrCms::TPermissionResponse - CheckPermissionRequest(const TString &user, - bool partial, - bool dry, - bool schedule, - bool defaultTenantPolicy, - NKikimrCms::TStatus::ECode code, - Ts... actions) + + template <typename... Ts> + NKikimrCms::TPermissionResponse CheckPermissionRequest( + const TString &user, + bool partial, + bool dry, + bool schedule, + bool defaultTenantPolicy, + NKikimrCms::TStatus::ECode code, + Ts... actions) { - return CheckPermissionRequest(user, partial, dry, schedule, - defaultTenantPolicy, - NKikimrCms::MODE_MAX_AVAILABILITY, - code, actions...); + return CheckPermissionRequest(user, partial, dry, schedule, defaultTenantPolicy, + NKikimrCms::MODE_MAX_AVAILABILITY, code, actions...); } - NKikimrCms::TPermissionResponse - CheckPermissionRequest(TAutoPtr<NCms::TEvCms::TEvPermissionRequest> req, - NKikimrCms::TStatus::ECode code); - - NKikimrCms::TManagePermissionResponse - CheckManagePermissionRequest(const TString &user, - NKikimrCms::TManagePermissionRequest::ECommand cmd, - bool dry = false, - NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); - template<typename... Ts> - NKikimrCms::TManagePermissionResponse - CheckManagePermissionRequest(const TString &user, - NKikimrCms::TManagePermissionRequest::ECommand cmd, - bool dry, - NKikimrCms::TStatus::ECode code, - Ts... ids ) + NKikimrCms::TPermissionResponse CheckPermissionRequest(TAutoPtr<NCms::TEvCms::TEvPermissionRequest> req, + NKikimrCms::TStatus::ECode code); + + NKikimrCms::TManagePermissionResponse CheckManagePermissionRequest( + const TString &user, + NKikimrCms::TManagePermissionRequest::ECommand cmd, + bool dry = false, + NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); + + template <typename... Ts> + NKikimrCms::TManagePermissionResponse CheckManagePermissionRequest( + const TString &user, + NKikimrCms::TManagePermissionRequest::ECommand cmd, + bool dry, + NKikimrCms::TStatus::ECode code, + Ts... ids) { auto req = MakeManagePermissionRequest(user, cmd, dry, ids...); return CheckManagePermissionRequest(req, code); } - template<typename... Ts> - void CheckDonePermission(const TString &user, - bool dry, - NKikimrCms::TStatus::ECode code, - Ts... ids) + template <typename... Ts> + void CheckDonePermission( + const TString &user, + bool dry, + NKikimrCms::TStatus::ECode code, + Ts... ids) { CheckManagePermissionRequest(user, NKikimrCms::TManagePermissionRequest::DONE, dry, code, ids...); } - NKikimrCms::TManagePermissionResponse - CheckListPermissions(const TString &user, - ui64 count); - void CheckDonePermission(const TString &user, - const TString &id, - bool dry = false, - NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); - void CheckRejectPermission(const TString &user, - const TString &id, - bool dry = false, - NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); - NKikimrCms::TManagePermissionResponse - CheckGetPermission(const TString &user, - const TString &id, - bool dry = false, - NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); - - NKikimrCms::TManageRequestResponse - CheckGetRequest(const TString &user, - const TString &id, - bool dry = false, - NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); - void CheckRejectRequest(const TString &user, - const TString &id, - bool dry = false, - NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); - NKikimrCms::TManageRequestResponse - CheckListRequests(const TString &user, - ui64 count); - - NKikimrCms::TPermissionResponse - CheckRequest(const TString &user, - TString id, - bool dry, - NKikimrCms::EAvailabilityMode availabilityMode, - NKikimrCms::TStatus::ECode res, - size_t count = 0); - NKikimrCms::TPermissionResponse - CheckRequest(const TString &user, - TString id, - bool dry, - NKikimrCms::TStatus::ECode res, - size_t count = 0) + NKikimrCms::TManagePermissionResponse CheckListPermissions(const TString &user, ui64 count); + void CheckDonePermission( + const TString &user, + const TString &id, + bool dry = false, + NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); + void CheckRejectPermission( + const TString &user, + const TString &id, + bool dry = false, + NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); + NKikimrCms::TManagePermissionResponse CheckGetPermission( + const TString &user, + const TString &id, + bool dry = false, + NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); + + NKikimrCms::TManageRequestResponse CheckGetRequest( + const TString &user, + const TString &id, + bool dry = false, + NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); + void CheckRejectRequest( + const TString &user, + const TString &id, + bool dry = false, + NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); + NKikimrCms::TManageRequestResponse CheckListRequests(const TString &user, ui64 count); + + NKikimrCms::TPermissionResponse CheckRequest( + const TString &user, + TString id, + bool dry, + NKikimrCms::EAvailabilityMode availabilityMode, + NKikimrCms::TStatus::ECode res, + size_t count = 0); + NKikimrCms::TPermissionResponse CheckRequest( + const TString &user, + TString id, + bool dry, + NKikimrCms::TStatus::ECode res, + size_t count = 0) { return CheckRequest(user, id, dry, NKikimrCms::MODE_MAX_AVAILABILITY, res, count); } - void CheckWalleStoreTaskIsFailed(NCms::TEvCms::TEvStoreWalleTask* req); + void CheckWalleStoreTaskIsFailed(NCms::TEvCms::TEvStoreWalleTask *req); - template<typename... Ts> - void CheckWalleCreateTask(const TString &id, - const TString &action, - bool dry, - NKikimrCms::TStatus::ECode code, - Ts... nodes) + template <typename... Ts> + void CheckWalleCreateTask( + const TString &id, + const TString &action, + bool dry, + NKikimrCms::TStatus::ECode code, + Ts... nodes) { auto req = MakeWalleCreateRequest(id, action, dry, nodes...); CheckWalleCreateTask(req, code); } - template<typename... Ts> - void CheckWalleListTasks(const TString &id, - const TString &status, - Ts... nodes) - { + template <typename... Ts> + void CheckWalleListTasks(const TString &id, const TString &status, Ts... nodes) { auto task = MakeTaskInfo(id, status, nodes...); CheckWalleListTasks(task); } - template<typename... Ts> - void CheckWalleCheckTask(const TString &id, - NKikimrCms::TStatus::ECode code, - Ts... nodes) - { + template <typename... Ts> + void CheckWalleCheckTask(const TString &id, NKikimrCms::TStatus::ECode code, Ts... nodes) { auto task = MakeTaskInfo(id, "", nodes...); CheckWalleCheckTask(id, code, task); } - void CheckWalleCheckTask(const TString &id, - NKikimrCms::TStatus::ECode code); + void CheckWalleCheckTask(const TString &id, NKikimrCms::TStatus::ECode code); ui64 CountWalleTasks(); void CheckWalleListTasks(size_t count); - void CheckWalleRemoveTask(const TString &id, - NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); + void CheckWalleRemoveTask(const TString &id, NKikimrCms::TStatus::ECode code = NKikimrCms::TStatus::OK); - template<typename... Ts> - TString CheckNotification(NKikimrCms::TStatus::ECode code, - const TString &user, - TInstant when, - Ts... actions) + template <typename... Ts> + TString CheckNotification( + NKikimrCms::TStatus::ECode code, + const TString &user, + TInstant when, + Ts... actions) { auto req = MakeNotification(user, when, actions...); return CheckNotification(req, code); } - void CheckGetNotification(const TString &user, - const TString &id, - NKikimrCms::TStatus::ECode code); - void CheckListNotifications(const TString &user, - NKikimrCms::TStatus::ECode code, - ui32 count); - void CheckRejectNotification(const TString &user, - const TString &id, - NKikimrCms::TStatus::ECode code, - bool dry = false); + void CheckGetNotification(const TString &user, const TString &id, NKikimrCms::TStatus::ECode code); + void CheckListNotifications(const TString &user, NKikimrCms::TStatus::ECode code, ui32 count); + void CheckRejectNotification(const TString &user, const TString &id, NKikimrCms::TStatus::ECode code, bool dry = false); - void WaitUpdatDiskStatus(ui32 statusEventsCount, - NKikimrBlobStorage::EDriveStatus newStatus = NKikimrBlobStorage::ACTIVE); + void WaitUpdatDiskStatus(ui32 statusEventsCount, NKikimrBlobStorage::EDriveStatus newStatus = NKikimrBlobStorage::ACTIVE); template <typename... Ts> - void CheckSetMarker(NKikimrCms::EMarker marker, - const TString &userToken, - NKikimrCms::TStatus::ECode code, - Ts ...args) + void CheckSetMarker( + NKikimrCms::EMarker marker, + const TString &userToken, + NKikimrCms::TStatus::ECode code, + Ts ...args) { auto req = MakeSetMarkerRequest(marker, userToken, args...); return CheckSetMarker(req, code); } template <typename... Ts> - void CheckResetMarker(NKikimrCms::EMarker marker, - const TString &userToken, - NKikimrCms::TStatus::ECode code, - Ts ...args) + void CheckResetMarker( + NKikimrCms::EMarker marker, + const TString &userToken, + NKikimrCms::TStatus::ECode code, + Ts ...args) { auto req = MakeResetMarkerRequest(marker, userToken, args...); return CheckResetMarker(req, code); @@ -379,13 +354,14 @@ public: void EnableBSBaseConfig(); void DisableBSBaseConfig(); - NKikimrCms::TGetLogTailResponse GetLogTail(ui32 type = 0, - TInstant from = TInstant::Zero(), - TInstant to = TInstant::Zero(), - ui32 limit = 100, - ui32 offset = 0); + NKikimrCms::TGetLogTailResponse GetLogTail( + ui32 type = 0, + TInstant from = TInstant::Zero(), + TInstant to = TInstant::Zero(), + ui32 limit = 100, + ui32 offset = 0); - void AddBSCFailures(const NCms::TPDiskID& id, TVector<bool> failuresPattern); + void AddBSCFailures(const NCms::TPDiskID &id, TVector<bool> failuresPattern); void EnableNoisyBSCPipe(); @@ -394,32 +370,19 @@ public: private: void SetupLogging(); - NKikimrCms::TManagePermissionResponse - CheckManagePermissionRequest(TAutoPtr<NCms::TEvCms::TEvManagePermissionRequest> req, - NKikimrCms::TStatus::ECode code); - NKikimrCms::TManageRequestResponse - CheckManageRequestRequest(TAutoPtr<NCms::TEvCms::TEvManageRequestRequest> req, - NKikimrCms::TStatus::ECode code); - - void CheckWalleCreateTask(TAutoPtr<NCms::TEvCms::TEvWalleCreateTaskRequest> req, - NKikimrCms::TStatus::ECode code); - void CheckTasksEqual(const NKikimrCms::TWalleTaskInfo &l, - const NKikimrCms::TWalleTaskInfo &r); + NKikimrCms::TManagePermissionResponse CheckManagePermissionRequest( + TAutoPtr<NCms::TEvCms::TEvManagePermissionRequest> req, NKikimrCms::TStatus::ECode code); + NKikimrCms::TManageRequestResponse CheckManageRequestRequest( + TAutoPtr<NCms::TEvCms::TEvManageRequestRequest> req, NKikimrCms::TStatus::ECode code); + void CheckWalleCreateTask(TAutoPtr<NCms::TEvCms::TEvWalleCreateTaskRequest> req, NKikimrCms::TStatus::ECode code); + void CheckTasksEqual(const NKikimrCms::TWalleTaskInfo &l, const NKikimrCms::TWalleTaskInfo &r); void CheckWalleListTasks(const NKikimrCms::TWalleTaskInfo &task); - void CheckWalleCheckTask(const TString &id, - NKikimrCms::TStatus::ECode code, - NKikimrCms::TWalleTaskInfo task); - - TString CheckNotification(TAutoPtr<NCms::TEvCms::TEvNotification> req, - NKikimrCms::TStatus::ECode code); - - void CheckSetMarker(TAutoPtr<NCms::TEvCms::TEvSetMarkerRequest> req, - NKikimrCms::TStatus::ECode code); - void CheckResetMarker(TAutoPtr<NCms::TEvCms::TEvResetMarkerRequest> req, - NKikimrCms::TStatus::ECode code); + void CheckWalleCheckTask(const TString &id, NKikimrCms::TStatus::ECode code, NKikimrCms::TWalleTaskInfo task); + TString CheckNotification(TAutoPtr<NCms::TEvCms::TEvNotification> req, NKikimrCms::TStatus::ECode code); + void CheckSetMarker(TAutoPtr<NCms::TEvCms::TEvSetMarkerRequest> req, NKikimrCms::TStatus::ECode code); + void CheckResetMarker(TAutoPtr<NCms::TEvCms::TEvResetMarkerRequest> req, NKikimrCms::TStatus::ECode code); TActorId Sender; }; -} // NCmsTest -} // NKikimr +} diff --git a/ydb/core/cms/config.h b/ydb/core/cms/config.h index 86cf3ddbf3d..21ec4721f17 100644 --- a/ydb/core/cms/config.h +++ b/ydb/core/cms/config.h @@ -32,8 +32,7 @@ struct TCmsSentinelConfig { ui32 RoomRatio; ui32 RackRatio; - void Serialize(NKikimrCms::TCmsConfig::TSentinelConfig &config) const - { + void Serialize(NKikimrCms::TCmsConfig::TSentinelConfig &config) const { config.SetEnable(Enable); config.SetDryRun(DryRun); config.SetUpdateConfigInterval(UpdateConfigInterval.GetValue()); @@ -50,8 +49,7 @@ struct TCmsSentinelConfig { SaveStateLimits(config); } - void Deserialize(const NKikimrCms::TCmsConfig::TSentinelConfig &config) - { + void Deserialize(const NKikimrCms::TCmsConfig::TSentinelConfig &config) { Enable = config.GetEnable(); DryRun = config.GetDryRun(); UpdateConfigInterval = TDuration::MicroSeconds(config.GetUpdateConfigInterval()); @@ -69,8 +67,7 @@ struct TCmsSentinelConfig { StateLimits.swap(newStateLimits); } - void SaveStateLimits(NKikimrCms::TCmsConfig::TSentinelConfig &config) const - { + void SaveStateLimits(NKikimrCms::TCmsConfig::TSentinelConfig &config) const { auto defaultStateLimits = DefaultStateLimits(); bool differsFromDefault = false; @@ -97,8 +94,7 @@ struct TCmsSentinelConfig { } } - static TMap<EPDiskState, ui32> LoadStateLimits(const NKikimrCms::TCmsConfig::TSentinelConfig &config) - { + static TMap<EPDiskState, ui32> LoadStateLimits(const NKikimrCms::TCmsConfig::TSentinelConfig &config) { TMap<EPDiskState, ui32> stateLimits = DefaultStateLimits(); for (const auto &val : config.GetStateLimits()) { @@ -108,8 +104,7 @@ struct TCmsSentinelConfig { return stateLimits; } - static TMap<EPDiskState, ui32> DefaultStateLimits() - { + static TMap<EPDiskState, ui32> DefaultStateLimits() { TMap<EPDiskState, ui32> stateLimits; // error states stateLimits[NKikimrBlobStorage::TPDiskState::InitialFormatReadError] = 60; @@ -143,27 +138,24 @@ struct TCmsLogConfig { bool EnabledByDefault = true; TDuration TTL; - void Serialize(NKikimrCms::TCmsConfig::TLogConfig &config) const - { + void Serialize(NKikimrCms::TCmsConfig::TLogConfig &config) const { config.SetDefaultLevel(EnabledByDefault - ? NKikimrCms::TCmsConfig::TLogConfig::ENABLED - : NKikimrCms::TCmsConfig::TLogConfig::DISABLED); + ? NKikimrCms::TCmsConfig::TLogConfig::ENABLED + : NKikimrCms::TCmsConfig::TLogConfig::DISABLED); for (auto pr : RecordLevels) { auto &entry = *config.AddComponentLevels(); entry.SetRecordType(pr.first); entry.SetLevel(pr.second - ? NKikimrCms::TCmsConfig::TLogConfig::ENABLED - : NKikimrCms::TCmsConfig::TLogConfig::DISABLED); + ? NKikimrCms::TCmsConfig::TLogConfig::ENABLED + : NKikimrCms::TCmsConfig::TLogConfig::DISABLED); } config.SetTTL(TTL.GetValue()); } - void Deserialize(const NKikimrCms::TCmsConfig::TLogConfig &config) - { + void Deserialize(const NKikimrCms::TCmsConfig::TLogConfig &config) { RecordLevels.clear(); - EnabledByDefault = (config.GetDefaultLevel() - == NKikimrCms::TCmsConfig::TLogConfig::ENABLED); + EnabledByDefault = (config.GetDefaultLevel() == NKikimrCms::TCmsConfig::TLogConfig::ENABLED); for (auto &entry : config.GetComponentLevels()) { RecordLevels[entry.GetRecordType()] = entry.GetLevel() == NKikimrCms::TCmsConfig::TLogConfig::ENABLED; @@ -171,8 +163,7 @@ struct TCmsLogConfig { TTL = TDuration::FromValue(config.GetTTL()); } - bool IsLogEnabled(ui32 recordType) const - { + bool IsLogEnabled(ui32 recordType) const { if (RecordLevels.contains(recordType)) return RecordLevels.at(recordType); return EnabledByDefault; @@ -189,18 +180,15 @@ struct TCmsConfig { TCmsSentinelConfig SentinelConfig; TCmsLogConfig LogConfig; - TCmsConfig() - { + TCmsConfig() { Deserialize(NKikimrCms::TCmsConfig()); } - TCmsConfig(const NKikimrCms::TCmsConfig &config) - { + TCmsConfig(const NKikimrCms::TCmsConfig &config) { Deserialize(config); } - void Serialize(NKikimrCms::TCmsConfig &config) const - { + void Serialize(NKikimrCms::TCmsConfig &config) const { config.SetDefaultRetryTime(DefaultRetryTime.GetValue()); config.SetDefaultPermissionDuration(DefaultPermissionDuration.GetValue()); config.SetInfoCollectionTimeout(InfoCollectionTimeout.GetValue()); @@ -210,8 +198,7 @@ struct TCmsConfig { LogConfig.Serialize(*config.MutableLogConfig()); } - void Deserialize(const NKikimrCms::TCmsConfig &config) - { + void Deserialize(const NKikimrCms::TCmsConfig &config) { DefaultRetryTime = TDuration::MicroSeconds(config.GetDefaultRetryTime()); DefaultPermissionDuration = TDuration::MicroSeconds(config.GetDefaultPermissionDuration()); InfoCollectionTimeout = TDuration::MicroSeconds(config.GetInfoCollectionTimeout()); @@ -221,8 +208,7 @@ struct TCmsConfig { LogConfig.Deserialize(config.GetLogConfig()); } - bool IsLogEnabled(ui32 recordType) const - { + bool IsLogEnabled(ui32 recordType) const { return LogConfig.IsLogEnabled(recordType); } }; diff --git a/ydb/core/cms/downtime.cpp b/ydb/core/cms/downtime.cpp index 071b4e2e288..0ddd51c0c0c 100644 --- a/ydb/core/cms/downtime.cpp +++ b/ydb/core/cms/downtime.cpp @@ -3,7 +3,6 @@ #include "scheme.h" #include <util/generic/algorithm.h> - #include <util/string/join.h> namespace NKikimr::NCms { @@ -13,18 +12,15 @@ TDowntime::TDowntime(TDuration ignoredDowntimeGap) { } -void TDowntime::AddDowntime(TInstant start, TInstant end, const TString &reason) -{ +void TDowntime::AddDowntime(TInstant start, TInstant end, const TString &reason) { AddDowntime({start, end, reason}); } -void TDowntime::AddDowntime(TInstant start, TDuration duration, const TString &reason) -{ +void TDowntime::AddDowntime(TInstant start, TDuration duration, const TString &reason) { AddDowntime({start, duration, reason}); } -void TDowntime::AddDowntime(const TSegment segment) -{ +void TDowntime::AddDowntime(const TSegment segment) { if (!segment.Duration()) return; @@ -43,14 +39,12 @@ void TDowntime::AddDowntime(const TSegment segment) } } -void TDowntime::AddDowntime(const TDowntime &downtime) -{ +void TDowntime::AddDowntime(const TDowntime &downtime) { for (auto &segment : downtime.GetDowntimeSegments()) AddDowntime(segment); } -void TDowntime::AddDowntime(const TLockableItem &item, TInstant now) -{ +void TDowntime::AddDowntime(const TLockableItem &item, TInstant now) { AddDowntime(item.Downtime); if (item.State != NKikimrCms::UP) @@ -68,8 +62,7 @@ void TDowntime::AddDowntime(const TLockableItem &item, TInstant now) } } -bool TDowntime::HasUpcomingDowntime(TInstant now, TDuration distance, TDuration duration) const -{ +bool TDowntime::HasUpcomingDowntime(TInstant now, TDuration distance, TDuration duration) const { for (auto &segment : DowntimeSegments) { if (segment.Start > now + distance) break; @@ -81,13 +74,11 @@ bool TDowntime::HasUpcomingDowntime(TInstant now, TDuration distance, TDuration return false; } -TDuration TDowntime::GetIgnoredDowntimeGap() const -{ +TDuration TDowntime::GetIgnoredDowntimeGap() const { return IgnoredDowntimeGap; } -void TDowntime::SetIgnoredDowntimeGap(TDuration gap) -{ +void TDowntime::SetIgnoredDowntimeGap(TDuration gap) { bool merge = IgnoredDowntimeGap < gap; IgnoredDowntimeGap = gap; @@ -97,8 +88,7 @@ void TDowntime::SetIgnoredDowntimeGap(TDuration gap) } } -void TDowntime::CleanupOldSegments(TInstant now) -{ +void TDowntime::CleanupOldSegments(TInstant now) { while (!DowntimeSegments.empty()) { auto it = DowntimeSegments.begin(); if (it->End + IgnoredDowntimeGap < now) @@ -108,8 +98,7 @@ void TDowntime::CleanupOldSegments(TInstant now) } } -void TDowntime::Serialize(NKikimrCms::TAvailabilityStats *rec) const -{ +void TDowntime::Serialize(NKikimrCms::TAvailabilityStats *rec) const { for (auto &segment : DowntimeSegments) { auto &entry = *rec->AddDowntimes(); entry.SetStart(segment.Start.GetValue()); @@ -119,8 +108,7 @@ void TDowntime::Serialize(NKikimrCms::TAvailabilityStats *rec) const rec->SetIgnoredDowntimeGap(IgnoredDowntimeGap.GetValue()); } -void TDowntime::Deserialize(const NKikimrCms::TAvailabilityStats &rec) -{ +void TDowntime::Deserialize(const NKikimrCms::TAvailabilityStats &rec) { SetIgnoredDowntimeGap(TDuration::FromValue(rec.GetIgnoredDowntimeGap())); for (auto &entry : rec.GetDowntimes()) { @@ -130,9 +118,7 @@ void TDowntime::Deserialize(const NKikimrCms::TAvailabilityStats &rec) } } -std::pair<TDowntime::TSegments::iterator, bool> -TDowntime::CollapseWithPrev(TSegments::iterator it) -{ +std::pair<TDowntime::TSegments::iterator, bool> TDowntime::CollapseWithPrev(TSegments::iterator it) { auto prev = it; --prev; @@ -158,8 +144,7 @@ TDowntimes::TDowntimes() { } -void TDowntimes::SetIgnoredDowntimeGap(TDuration gap) -{ +void TDowntimes::SetIgnoredDowntimeGap(TDuration gap) { if (IgnoredDowntimeGap == gap) return; @@ -169,16 +154,14 @@ void TDowntimes::SetIgnoredDowntimeGap(TDuration gap) pr.second.SetIgnoredDowntimeGap(gap); } -void TDowntimes::CleanupOld(TInstant now) -{ +void TDowntimes::CleanupOld(TInstant now) { for (auto &pr : NodeDowntimes) pr.second.CleanupOldSegments(now); for (auto &pr : PDiskDowntimes) pr.second.CleanupOldSegments(now); } -void TDowntimes::CleanupEmpty() -{ +void TDowntimes::CleanupEmpty() { for (auto it = NodeDowntimes.begin(); it != NodeDowntimes.end(); ) { auto next = it; ++next; @@ -196,9 +179,7 @@ void TDowntimes::CleanupEmpty() } } -bool TDowntimes::DbLoadState(TTransactionContext& txc, - const TActorContext& ctx) -{ +bool TDowntimes::DbLoadState(TTransactionContext &txc, const TActorContext &ctx) { Y_UNUSED(ctx); NIceDb::TNiceDb db(txc.DB); @@ -235,9 +216,7 @@ bool TDowntimes::DbLoadState(TTransactionContext& txc, return true; } -void TDowntimes::DbStoreState(TTransactionContext& txc, - const TActorContext& ctx) -{ +void TDowntimes::DbStoreState(TTransactionContext &txc, const TActorContext &ctx) { NIceDb::TNiceDb db(txc.DB); for (auto &pr : NodeDowntimes) { diff --git a/ydb/core/cms/downtime.h b/ydb/core/cms/downtime.h index 68f3ea7648d..309d4f473b3 100644 --- a/ydb/core/cms/downtime.h +++ b/ydb/core/cms/downtime.h @@ -33,20 +33,21 @@ public: , Reason(reason) { } + TSegment(TInstant start, TDuration duration, const TString reason = "") : Start(start) , End(start + duration) , Reason(reason) { } + TSegment(const TSegment &other) = default; TSegment(TSegment &&other) = default; TSegment &operator=(const TSegment &other) = default; TSegment &operator=(TSegment &&other) = default; - TDuration Duration() const - { + TDuration Duration() const { return End - Start; } }; @@ -73,18 +74,15 @@ public: void AddDowntime(const TDowntime &downtime); void AddDowntime(const TLockableItem &item, TInstant now); - const TSegments &GetDowntimeSegments() const - { + const TSegments &GetDowntimeSegments() const { return DowntimeSegments; } - bool Empty() const - { + bool Empty() const { return DowntimeSegments.empty(); } - void Clear() - { + void Clear() { DowntimeSegments.clear(); } @@ -113,10 +111,8 @@ public: void CleanupOld(TInstant now); void CleanupEmpty(); - bool DbLoadState(TTransactionContext& txc, - const TActorContext& ctx); - void DbStoreState(TTransactionContext& txc, - const TActorContext& ctx); + bool DbLoadState(TTransactionContext& txc, const TActorContext& ctx); + void DbStoreState(TTransactionContext& txc, const TActorContext& ctx); THashMap<ui32, TDowntime> NodeDowntimes; THashMap<TPDiskID, TDowntime, TPDiskIDHash> PDiskDowntimes; diff --git a/ydb/core/cms/erasure_checkers.cpp b/ydb/core/cms/erasure_checkers.cpp index ffca2917640..b98748c7932 100644 --- a/ydb/core/cms/erasure_checkers.cpp +++ b/ydb/core/cms/erasure_checkers.cpp @@ -2,13 +2,9 @@ namespace NKikimr::NCms { -bool TErasureCounterBase::IsDown(const TVDiskInfo& vdisk, - TClusterInfoPtr info, - TDuration& retryTime, - TErrorInfo& error) -{ - const auto& node = info->Node(vdisk.NodeId); - const auto& pdisk = info->PDisk(vdisk.PDiskId); +bool TErasureCounterBase::IsDown(const TVDiskInfo &vdisk, TClusterInfoPtr info, TDuration &retryTime, TErrorInfo &error) { + const auto &node = info->Node(vdisk.NodeId); + const auto &pdisk = info->PDisk(vdisk.PDiskId); const auto defaultDeadline = TActivationContext::Now() + retryTime; // Check we received info for PDisk. @@ -23,14 +19,11 @@ bool TErasureCounterBase::IsDown(const TVDiskInfo& vdisk, || vdisk.IsDown(error, defaultDeadline); } -bool TErasureCounterBase::IsLocked(const TVDiskInfo& vdisk, - TClusterInfoPtr info, - TDuration& retryTime, - TDuration& duration, - TErrorInfo& error) +bool TErasureCounterBase::IsLocked(const TVDiskInfo &vdisk, TClusterInfoPtr info, TDuration &retryTime, + TDuration &duration, TErrorInfo &error) { - const auto& node = info->Node(vdisk.NodeId); - const auto& pdisk = info->PDisk(vdisk.PDiskId); + const auto &node = info->Node(vdisk.NodeId); + const auto &pdisk = info->PDisk(vdisk.PDiskId); // Check we received info for VDisk. if (!vdisk.NodeId || !vdisk.PDiskId) { @@ -45,15 +38,11 @@ bool TErasureCounterBase::IsLocked(const TVDiskInfo& vdisk, || vdisk.IsLocked(error, retryTime, TActivationContext::Now(), duration); } -bool TErasureCounterBase::GroupAlreadyHasLockedDisks() const -{ +bool TErasureCounterBase::GroupAlreadyHasLockedDisks() const { return HasAlreadyLockedDisks; } -bool TErasureCounterBase::CheckForMaxAvailability(TErrorInfo& error, - TInstant& defaultDeadline, - bool allowPartial) const -{ +bool TErasureCounterBase::CheckForMaxAvailability(TErrorInfo &error, TInstant &defaultDeadline, bool allowPartial) const { if (Locked + Down > 1) { if (HasAlreadyLockedDisks && !allowPartial) { error.Code = TStatus::DISALLOW; @@ -71,11 +60,8 @@ bool TErasureCounterBase::CheckForMaxAvailability(TErrorInfo& error, return true; } -void TDefaultErasureCounter::CountVDisk(const TVDiskInfo& vdisk, - TClusterInfoPtr info, - TDuration retryTime, - TDuration duration, - TErrorInfo& error) +void TDefaultErasureCounter::CountVDisk(const TVDiskInfo &vdisk, TClusterInfoPtr info, TDuration retryTime, + TDuration duration, TErrorInfo &error) { Y_VERIFY_DEBUG(vdisk.VDiskId != VDisk.VDiskId); @@ -100,10 +86,8 @@ void TDefaultErasureCounter::CountVDisk(const TVDiskInfo& vdisk, } } -bool TDefaultErasureCounter::CheckForKeepAvailability(TClusterInfoPtr info, - TErrorInfo& error, - TInstant& defaultDeadline, - bool allowPartial) const +bool TDefaultErasureCounter::CheckForKeepAvailability(TClusterInfoPtr info, TErrorInfo &error, + TInstant &defaultDeadline, bool allowPartial) const { if (HasAlreadyLockedDisks && allowPartial) { error.Code = TStatus::DISALLOW_TEMP; @@ -129,10 +113,8 @@ bool TDefaultErasureCounter::CheckForKeepAvailability(TClusterInfoPtr info, return true; } -bool TMirror3dcCounter::CheckForKeepAvailability(TClusterInfoPtr info, - TErrorInfo& error, - TInstant& defaultDeadline, - bool allowPartial) const +bool TMirror3dcCounter::CheckForKeepAvailability(TClusterInfoPtr info, TErrorInfo &error, + TInstant &defaultDeadline, bool allowPartial) const { Y_UNUSED(info); @@ -178,11 +160,8 @@ bool TMirror3dcCounter::CheckForKeepAvailability(TClusterInfoPtr info, return false; } -void TMirror3dcCounter::CountVDisk(const TVDiskInfo& vdisk, - TClusterInfoPtr info, - TDuration retryTime, - TDuration duration, - TErrorInfo& error) +void TMirror3dcCounter::CountVDisk(const TVDiskInfo &vdisk, TClusterInfoPtr info, TDuration retryTime, + TDuration duration, TErrorInfo &error) { Y_VERIFY_DEBUG(vdisk.VDiskId != VDisk.VDiskId); @@ -199,11 +178,7 @@ void TMirror3dcCounter::CountVDisk(const TVDiskInfo& vdisk, } } -void TMirror3dcCounter::CountGroupState(TClusterInfoPtr info, - TDuration retryTime, - TDuration duration, - TErrorInfo &error) -{ +void TMirror3dcCounter::CountGroupState(TClusterInfoPtr info, TDuration retryTime, TDuration duration, TErrorInfo &error) { for (const auto &vdId : info->BSGroup(GroupId).VDisks) { if (vdId != VDisk.VDiskId) CountVDisk(info->VDisk(vdId), info, retryTime, duration, error); @@ -216,11 +191,7 @@ void TMirror3dcCounter::CountGroupState(TClusterInfoPtr info, } } -void TDefaultErasureCounter::CountGroupState(TClusterInfoPtr info, - TDuration retryTime, - TDuration duration, - TErrorInfo &error) -{ +void TDefaultErasureCounter::CountGroupState(TClusterInfoPtr info, TDuration retryTime, TDuration duration, TErrorInfo &error) { for (const auto &vdId : info->BSGroup(GroupId).VDisks) { if (vdId != VDisk.VDiskId) CountVDisk(info->VDisk(vdId), info, retryTime, duration, error); @@ -231,9 +202,7 @@ void TDefaultErasureCounter::CountGroupState(TClusterInfoPtr info, ++Locked; } -TSimpleSharedPtr<IErasureCounter> CreateErasureCounter(TErasureType::EErasureSpecies es, - const TVDiskInfo& vdisk, ui32 groupId) -{ +TSimpleSharedPtr<IErasureCounter> CreateErasureCounter(TErasureType::EErasureSpecies es, const TVDiskInfo &vdisk, ui32 groupId) { switch (es) { case TErasureType::ErasureNone: case TErasureType::ErasureMirror3: diff --git a/ydb/core/cms/erasure_checkers.h b/ydb/core/cms/erasure_checkers.h index a496ae59ff3..0c0de0be766 100644 --- a/ydb/core/cms/erasure_checkers.h +++ b/ydb/core/cms/erasure_checkers.h @@ -1,7 +1,6 @@ #pragma once #include "defs.h" - #include "cluster_info.h" #include <ydb/core/erasure/erasure.h> @@ -18,15 +17,8 @@ public: virtual bool GroupAlreadyHasLockedDisks() const = 0; virtual bool CheckForMaxAvailability(TErrorInfo& error, TInstant& defaultDeadline, bool allowPartial) const = 0; virtual bool CheckForKeepAvailability(TClusterInfoPtr info, TErrorInfo& error, TInstant& defaultDeadline, bool allowPartial) const = 0; - virtual void CountGroupState(TClusterInfoPtr info, - TDuration retryTime, - TDuration duration, - TErrorInfo& error) = 0; - virtual void CountVDisk(const TVDiskInfo& vdisk, - TClusterInfoPtr info, - TDuration retryTime, - TDuration duration, - TErrorInfo& error) = 0; + virtual void CountGroupState(TClusterInfoPtr info, TDuration retryTime, TDuration duration, TErrorInfo& error) = 0; + virtual void CountVDisk(const TVDiskInfo& vdisk, TClusterInfoPtr info, TDuration retryTime, TDuration duration, TErrorInfo& error) = 0; }; class TErasureCounterBase: public IErasureCounter { @@ -38,15 +30,8 @@ protected: bool HasAlreadyLockedDisks; protected: - bool IsDown(const TVDiskInfo& vdisk, - TClusterInfoPtr info, - TDuration& retryTime, - TErrorInfo& error); - bool IsLocked(const TVDiskInfo& vdisk, - TClusterInfoPtr info, - TDuration& retryTime, - TDuration& duration, - TErrorInfo& error); + bool IsDown(const TVDiskInfo& vdisk, TClusterInfoPtr info, TDuration& retryTime, TErrorInfo& error); + bool IsLocked(const TVDiskInfo& vdisk, TClusterInfoPtr info, TDuration& retryTime, TDuration& duration, TErrorInfo& error); public: TErasureCounterBase(const TVDiskInfo& vdisk, ui32 groupId) @@ -69,17 +54,9 @@ public: { } - void CountGroupState(TClusterInfoPtr info, TDuration retryTime, - TDuration duration, TErrorInfo &error) override; - bool CheckForKeepAvailability(TClusterInfoPtr info, - TErrorInfo& error, - TInstant& defaultDeadline, - bool allowPartial) const override; - void CountVDisk(const TVDiskInfo& vdisk, - TClusterInfoPtr info, - TDuration retryTime, - TDuration duration, - TErrorInfo& error) override; + void CountGroupState(TClusterInfoPtr info, TDuration retryTime, TDuration duration, TErrorInfo &error) override; + bool CheckForKeepAvailability(TClusterInfoPtr info, TErrorInfo& error, TInstant& defaultDeadline, bool allowPartial) const override; + void CountVDisk(const TVDiskInfo& vdisk, TClusterInfoPtr info, TDuration retryTime, TDuration duration, TErrorInfo& error) override; }; class TMirror3dcCounter: public TErasureCounterBase { @@ -92,21 +69,11 @@ public: { } - void CountGroupState(TClusterInfoPtr info, TDuration retryTime, - TDuration duration, TErrorInfo &error) override; - bool CheckForKeepAvailability(TClusterInfoPtr info, - TErrorInfo& error, - TInstant& defaultDeadline, - bool allowPartial) const override; - void CountVDisk(const TVDiskInfo& vdisk, - TClusterInfoPtr info, - TDuration retryTime, - TDuration duration, - TErrorInfo& error) override; + void CountGroupState(TClusterInfoPtr info, TDuration retryTime, TDuration duration, TErrorInfo &error) override; + bool CheckForKeepAvailability(TClusterInfoPtr info, TErrorInfo& error, TInstant& defaultDeadline, bool allowPartial) const override; + void CountVDisk(const TVDiskInfo& vdisk, TClusterInfoPtr info, TDuration retryTime, TDuration duration, TErrorInfo& error) override; }; -TSimpleSharedPtr<IErasureCounter> -CreateErasureCounter(TErasureType::EErasureSpecies es, - const TVDiskInfo& vdisk, ui32 groupId); +TSimpleSharedPtr<IErasureCounter> CreateErasureCounter(TErasureType::EErasureSpecies es, const TVDiskInfo& vdisk, ui32 groupId); } // namespace NKikimr::NCms diff --git a/ydb/core/cms/http.cpp b/ydb/core/cms/http.cpp index 104b4b7f3e6..76870e745b3 100644 --- a/ydb/core/cms/http.cpp +++ b/ydb/core/cms/http.cpp @@ -1,15 +1,15 @@ +#include "base_handler.h" #include "http.h" #include "json_proxy.h" #include "json_proxy_config_items.h" #include "json_proxy_config_updates.h" #include "json_proxy_config_validators.h" -#include "json_proxy_log.h" #include "json_proxy_console_log.h" +#include "json_proxy_log.h" #include "json_proxy_operations.h" #include "json_proxy_proto.h" -#include "json_proxy_toggle_config_validator.h" #include "json_proxy_sentinel.h" -#include "base_handler.h" +#include "json_proxy_toggle_config_validator.h" #include "walle.h" #include <ydb/core/base/appdata.h> @@ -26,21 +26,18 @@ namespace NKikimr::NCms { template <typename HandlerActorType> class TApiMethodHandler : public TApiMethodHandlerBase { public: - IActor *CreateHandlerActor(NMon::TEvHttpInfo::TPtr &event) override - { + IActor *CreateHandlerActor(NMon::TEvHttpInfo::TPtr &event) override { return new HandlerActorType(event); } }; class TCmsHttp : public TActorBootstrapped<TCmsHttp> { public: - static constexpr NKikimrServices::TActivity::EType ActorActivityType() - { + static constexpr NKikimrServices::TActivity::EType ActorActivityType() { return NKikimrServices::TActivity::CMS_SERVICE_PROXY; } - void Bootstrap(const TActorContext &ctx) - { + void Bootstrap(const TActorContext &ctx) { Become(&TThis::StateWork); NActors::TMon *mon = AppData(ctx)->Mon; if (mon) { @@ -66,10 +63,10 @@ public: TEvCms::TEvManageNotificationResponse>>; ApiHandlers["/api/console/yamlconfig"] = new TApiMethodHandler<TJsonProxyConsole<NConsole::TEvConsole::TEvGetAllConfigsRequest, - NConsole::TEvConsole::TEvGetAllConfigsResponse, true, true>>; + NConsole::TEvConsole::TEvGetAllConfigsResponse, true, true>>; ApiHandlers["/api/console/removevolatileyamlconfig"] = new TApiMethodHandler<TJsonProxyConsole<NConsole::TEvConsole::TEvRemoveVolatileConfigRequest, - NConsole::TEvConsole::TEvRemoveVolatileConfigResponse, true, true>>; + NConsole::TEvConsole::TEvRemoveVolatileConfigResponse, true, true>>; ApiHandlers["/api/console/configurevolatileyamlconfig"] = new TApiMethodHandler<TJsonProxyConsole<NConsole::TEvConsole::TEvAddVolatileConfigRequest, NConsole::TEvConsole::TEvAddVolatileConfigResponse, true, true>>; @@ -78,11 +75,10 @@ public: NConsole::TEvConsole::TEvResolveConfigResponse, true, true>>; ApiHandlers["/api/console/resolveallyamlconfig"] = new TApiMethodHandler<TJsonProxyConsole<NConsole::TEvConsole::TEvResolveAllConfigRequest, - NConsole::TEvConsole::TEvResolveAllConfigResponse, true, true>>; + NConsole::TEvConsole::TEvResolveAllConfigResponse, true, true>>; ApiHandlers["/api/console/configure"] = new TApiMethodHandler<TJsonProxyConsole<NConsole::TEvConsole::TEvConfigureRequest, - NConsole::TEvConsole::TEvConfigureResponse, - true>>; + NConsole::TEvConsole::TEvConfigureResponse, true>>; ApiHandlers["/api/json/log"] = new TApiMethodHandler<TJsonProxyLog>; ApiHandlers["/api/json/console/log"] = new TApiMethodHandler<TJsonProxyConsoleLog>; ApiHandlers["/api/json/configitems"] = new TApiMethodHandler<TJsonProxyConfigItems>; @@ -98,37 +94,25 @@ public: ApiHandlers["/api/datashard/json/listoperations"] = new TApiMethodHandler<TJsonProxyDataShard<TEvDataShard::TEvListOperationsRequest, TEvDataShard::TEvListOperationsResponse>>; - ApiHandlers["/api/datashard/json/getoperation"] - = new TApiMethodHandler<TJsonProxyDataShardGetOperation>; - ApiHandlers["/api/datashard/json/getreadtablesinkstate"] - = new TApiMethodHandler<TJsonProxyDataShardGetReadTableSinkState>; - ApiHandlers["/api/datashard/json/getreadtablescanstate"] - = new TApiMethodHandler<TJsonProxyDataShardGetReadTableScanState>; - ApiHandlers["/api/datashard/json/getreadtablestreamstate"] - = new TApiMethodHandler<TJsonProxyDataShardGetReadTableStreamState>; - ApiHandlers["/api/datashard/json/getslowopprofiles"] - = new TApiMethodHandler<TJsonProxyDataShardGetSlowOpProfiles>; - ApiHandlers["/api/datashard/json/getrsinfo"] - = new TApiMethodHandler<TJsonProxyDataShardGetRSInfo>; - ApiHandlers["/api/datashard/json/getdatahist"] - = new TApiMethodHandler<TJsonProxyDataShardGetDataHistogram>; - + ApiHandlers["/api/datashard/json/getoperation"] = new TApiMethodHandler<TJsonProxyDataShardGetOperation>; + ApiHandlers["/api/datashard/json/getreadtablesinkstate"] = new TApiMethodHandler<TJsonProxyDataShardGetReadTableSinkState>; + ApiHandlers["/api/datashard/json/getreadtablescanstate"] = new TApiMethodHandler<TJsonProxyDataShardGetReadTableScanState>; + ApiHandlers["/api/datashard/json/getreadtablestreamstate"] = new TApiMethodHandler<TJsonProxyDataShardGetReadTableStreamState>; + ApiHandlers["/api/datashard/json/getslowopprofiles"] = new TApiMethodHandler<TJsonProxyDataShardGetSlowOpProfiles>; + ApiHandlers["/api/datashard/json/getrsinfo"] = new TApiMethodHandler<TJsonProxyDataShardGetRSInfo>; + ApiHandlers["/api/datashard/json/getdatahist"] = new TApiMethodHandler<TJsonProxyDataShardGetDataHistogram>; ApiHandlers[WALLE_API_URL_PREFIX] = new TWalleApiHandler; } } private: - STFUNC(StateWork) - { + STFUNC(StateWork) { switch (ev->GetTypeRewrite()) { HFunc(NMon::TEvHttpInfo, Handle); } } - void ReplyWithFile(NMon::TEvHttpInfo::TPtr &ev, - const TActorContext &ctx, - const TString& name) - { + void ReplyWithFile(NMon::TEvHttpInfo::TPtr &ev, const TActorContext &ctx, const TString& name) { TString filename = TString("cms/ui") + name; if (filename.EndsWith('/')) filename += "index.html"; @@ -182,8 +166,7 @@ private: return result; } - void Handle(NMon::TEvHttpInfo::TPtr &ev, const TActorContext &ctx) - { + void Handle(NMon::TEvHttpInfo::TPtr &ev, const TActorContext &ctx) { Y_UNUSED(ctx); NMon::TEvHttpInfo *msg = ev->Get(); diff --git a/ydb/core/cms/json_proxy.h b/ydb/core/cms/json_proxy.h index c6425d6d653..59fd134547f 100644 --- a/ydb/core/cms/json_proxy.h +++ b/ydb/core/cms/json_proxy.h @@ -2,19 +2,18 @@ #include "audit_log.h" -#include <ydb/core/base/defs.h> - -#include <library/cpp/actors/core/actor.h> -#include <library/cpp/actors/core/actor_bootstrapped.h> -#include <library/cpp/actors/core/hfunc.h> -#include <ydb/core/mon/mon.h> -#include <library/cpp/actors/core/mon.h> #include <ydb/core/base/appdata.h> +#include <ydb/core/base/defs.h> #include <ydb/core/base/tablet_pipe.h> #include <ydb/core/cms/cms.h> #include <ydb/core/cms/console/console.h> +#include <ydb/core/mon/mon.h> #include <ydb/core/tx/datashard/datashard.h> +#include <library/cpp/actors/core/actor.h> +#include <library/cpp/actors/core/actor_bootstrapped.h> +#include <library/cpp/actors/core/hfunc.h> +#include <library/cpp/actors/core/mon.h> #include <library/cpp/protobuf/json/json2proto.h> #include <library/cpp/protobuf/json/proto2json.h> @@ -32,8 +31,7 @@ protected: using TResponse = TResponseEvent; public: - static constexpr NKikimrServices::TActivity::EType ActorActivityType() - { + static constexpr NKikimrServices::TActivity::EType ActorActivityType() { return NKikimrServices::TActivity::CMS_SERVICE_PROXY; } @@ -42,8 +40,7 @@ public: { } - void Bootstrap(const TActorContext &ctx) - { + void Bootstrap(const TActorContext &ctx) { LOG_DEBUG_S(ctx, NKikimrServices::CMS, "TJsonProxyBase::Bootstrap url=" << RequestEvent->Get()->Request.GetPathInfo()); @@ -87,8 +84,7 @@ public: virtual TString GetTabletName() const = 0; protected: - STFUNC(StateWork) - { + STFUNC(StateWork) { switch (ev->GetTypeRewrite()) { HFunc(TResponseEvent, Handle); CFunc(TEvents::TSystem::Wakeup, Timeout); @@ -100,13 +96,11 @@ protected: } } - void ReplyWithErrorAndDie(const TString &err, const TActorContext &ctx) - { + void ReplyWithErrorAndDie(const TString &err, const TActorContext &ctx) { ReplyAndDieImpl(err, ctx); } - void ReplyAndDie(const typename TResponseEvent::ProtoRecordType &resp, const TActorContext &ctx) - { + void ReplyAndDie(const typename TResponseEvent::ProtoRecordType &resp, const TActorContext &ctx) { auto config = NProtobufJson::TProto2JsonConfig() .SetFormatOutput(false) .SetEnumMode(NProtobufJson::TProto2JsonConfig::EnumName) @@ -116,54 +110,43 @@ protected: ReplyAndDie(json, ctx); } - void ReplyAndDie(const TString &json, const TActorContext &ctx) - { + void ReplyAndDie(const TString &json, const TActorContext &ctx) { ReplyAndDieImpl(TString(NMonitoring::HTTPOKJSON) + json, ctx); } - void ReplyAndDieImpl(const TString &data, const TActorContext &ctx) - { + void ReplyAndDieImpl(const TString &data, const TActorContext &ctx) { AuditLog("JsonProxy", RequestEvent, data, ctx); ctx.Send(RequestEvent->Sender, new NMon::TEvHttpInfoRes(data, 0, NMon::IEvHttpInfoRes::EContentType::Custom)); TBase::Die(ctx); } - void Die(const TActorContext& ctx) override - { + void Die(const TActorContext &ctx) override { NTabletPipe::CloseClient(ctx, Pipe); TBase::Die(ctx); } - void Handle(typename TResponseEvent::TPtr &ev, const TActorContext &ctx) - { + void Handle(typename TResponseEvent::TPtr &ev, const TActorContext &ctx) { ReplyAndDie(ev->Get()->Record, ctx); } - void SetTempError(NKikimrCms::TStatus &status, - const TString &error) - { + void SetTempError(NKikimrCms::TStatus &status, const TString &error) { status.SetCode(NKikimrCms::TStatus::ERROR_TEMP); status.SetReason(error); } - void SetTempError(NKikimrConsole::TStatus &status, - const TString &error) - { + void SetTempError(NKikimrConsole::TStatus &status, const TString &error) { status.SetCode(Ydb::StatusIds::UNAVAILABLE); status.SetReason(error); } - void SetTempError(NKikimrTxDataShard::TStatus &status, - const TString &error) - { + void SetTempError(NKikimrTxDataShard::TStatus &status, const TString &error) { status.SetCode(Ydb::StatusIds::UNAVAILABLE); auto *issue = status.AddIssues(); issue->set_severity(NYql::TSeverityIds::S_ERROR); issue->set_message(error); } - void Timeout(const TActorContext& ctx) - { + void Timeout(const TActorContext &ctx) { typename TResponseEvent::ProtoRecordType rec; if constexpr (!UseNested) { SetTempError(*rec.MutableStatus(), "Request timeout."); @@ -171,8 +154,7 @@ protected: ReplyAndDie(rec, ctx); } - void Disconnect(const TActorContext& ctx) - { + void Disconnect(const TActorContext &ctx) { typename TResponseEvent::ProtoRecordType rec; if constexpr (!UseNested) { SetTempError(*rec.MutableStatus(), GetTabletName() + " disconnected."); @@ -180,8 +162,7 @@ protected: ReplyAndDie(rec, ctx); } - void Handle(TEvTabletPipe::TEvClientConnected::TPtr &ev, const TActorContext &ctx) noexcept - { + void Handle(TEvTabletPipe::TEvClientConnected::TPtr &ev, const TActorContext &ctx) noexcept { if (ev->Get()->Status != NKikimrProto::OK) { typename TResponseEvent::ProtoRecordType rec; if constexpr (!UseNested) { @@ -206,8 +187,7 @@ public: { } - TAutoPtr<TRequestEvent> PrepareRequest(const TActorContext &ctx) override - { + TAutoPtr<TRequestEvent> PrepareRequest(const TActorContext &ctx) override { TAutoPtr<TRequestEvent> request = new TRequestEvent; NMon::TEvHttpInfo *msg = TBase::RequestEvent->Get(); @@ -232,15 +212,13 @@ public: { } - ui64 GetTabletId(const TActorContext &ctx) const override - { + ui64 GetTabletId(const TActorContext &ctx) const override { auto dinfo = AppData(ctx)->DomainsInfo; ui32 domain = dinfo->Domains.begin()->first; return useConsole ? MakeConsoleID(domain) : MakeCmsID(domain); } - TString GetTabletName() const override - { + TString GetTabletName() const override { return useConsole ? "Console" : "CMS"; } }; diff --git a/ydb/core/cms/json_proxy_config_items.h b/ydb/core/cms/json_proxy_config_items.h index eaf7d8f00c6..dd7d9f50dab 100644 --- a/ydb/core/cms/json_proxy_config_items.h +++ b/ydb/core/cms/json_proxy_config_items.h @@ -7,9 +7,8 @@ namespace NKikimr::NCms { class TJsonProxyConfigItems : public TJsonProxyConsole<NConsole::TEvConsole::TEvGetConfigItemsRequest, - NConsole::TEvConsole::TEvGetConfigItemsResponse> { -private: - + NConsole::TEvConsole::TEvGetConfigItemsResponse> +{ public: TJsonProxyConfigItems(NMon::TEvHttpInfo::TPtr &event) : TJsonProxyConsole<NConsole::TEvConsole::TEvGetConfigItemsRequest, @@ -17,8 +16,7 @@ public: { } - TAutoPtr<TRequest> PrepareRequest(const TActorContext &) override - { + TAutoPtr<TRequest> PrepareRequest(const TActorContext &) override { TAutoPtr<TRequest> request = new TRequest; const TCgiParameters& cgi = RequestEvent->Get()->Request.GetParams(); diff --git a/ydb/core/cms/json_proxy_config_updates.h b/ydb/core/cms/json_proxy_config_updates.h index a57cce3d968..3b7717fc4e3 100644 --- a/ydb/core/cms/json_proxy_config_updates.h +++ b/ydb/core/cms/json_proxy_config_updates.h @@ -7,9 +7,8 @@ namespace NKikimr::NCms { class TJsonProxyConfigUpdates : public TJsonProxyConsole<NConsole::TEvConsole::TEvCheckConfigUpdatesRequest, - NConsole::TEvConsole::TEvCheckConfigUpdatesResponse> { -private: - + NConsole::TEvConsole::TEvCheckConfigUpdatesResponse> +{ public: TJsonProxyConfigUpdates(NMon::TEvHttpInfo::TPtr &event) : TJsonProxyConsole<NConsole::TEvConsole::TEvCheckConfigUpdatesRequest, @@ -17,8 +16,7 @@ public: { } - TAutoPtr<TRequest> PrepareRequest(const TActorContext &) override - { + TAutoPtr<TRequest> PrepareRequest(const TActorContext &) override { TAutoPtr<TRequest> request = new TRequest; const TCgiParameters& cgi = RequestEvent->Get()->Request.GetParams(); diff --git a/ydb/core/cms/json_proxy_config_validators.h b/ydb/core/cms/json_proxy_config_validators.h index 583aeeb8185..5d22913a9a7 100644 --- a/ydb/core/cms/json_proxy_config_validators.h +++ b/ydb/core/cms/json_proxy_config_validators.h @@ -7,9 +7,8 @@ namespace NKikimr::NCms { class TJsonProxyConfigValidators : public TJsonProxyConsole<NConsole::TEvConsole::TEvListConfigValidatorsRequest, - NConsole::TEvConsole::TEvListConfigValidatorsResponse> { -private: - + NConsole::TEvConsole::TEvListConfigValidatorsResponse> +{ public: TJsonProxyConfigValidators(NMon::TEvHttpInfo::TPtr &event) : TJsonProxyConsole<NConsole::TEvConsole::TEvListConfigValidatorsRequest, @@ -17,8 +16,7 @@ public: { } - TAutoPtr<TRequest> PrepareRequest(const TActorContext &) override - { + TAutoPtr<TRequest> PrepareRequest(const TActorContext &) override { TAutoPtr<TRequest> request = new TRequest; return request; } diff --git a/ydb/core/cms/json_proxy_console_log.h b/ydb/core/cms/json_proxy_console_log.h index d26a30899c0..a3149d8b4e1 100644 --- a/ydb/core/cms/json_proxy_console_log.h +++ b/ydb/core/cms/json_proxy_console_log.h @@ -7,16 +7,13 @@ namespace NKikimr::NCms { using namespace NConsole; class TJsonProxyConsoleLog : public TJsonProxyConsole<TEvConsole::TEvGetLogTailRequest, TEvConsole::TEvGetLogTailResponse> { -private: - public: TJsonProxyConsoleLog(NMon::TEvHttpInfo::TPtr &event) : TJsonProxyConsole<TEvConsole::TEvGetLogTailRequest, TEvConsole::TEvGetLogTailResponse>(event) { } - TAutoPtr<TRequest> PrepareRequest(const TActorContext &) override - { + TAutoPtr<TRequest> PrepareRequest(const TActorContext &) override { TAutoPtr<TRequest> request = new TRequest; const TCgiParameters& cgi = RequestEvent->Get()->Request.GetParams(); diff --git a/ydb/core/cms/json_proxy_log.h b/ydb/core/cms/json_proxy_log.h index f895f525e7f..dbff0dc164e 100644 --- a/ydb/core/cms/json_proxy_log.h +++ b/ydb/core/cms/json_proxy_log.h @@ -5,16 +5,13 @@ namespace NKikimr::NCms { class TJsonProxyLog : public TJsonProxyCms<TEvCms::TEvGetLogTailRequest, TEvCms::TEvGetLogTailResponse> { -private: - public: TJsonProxyLog(NMon::TEvHttpInfo::TPtr &event) : TJsonProxyCms<TEvCms::TEvGetLogTailRequest, TEvCms::TEvGetLogTailResponse>(event) { } - TAutoPtr<TRequest> PrepareRequest(const TActorContext &) override - { + TAutoPtr<TRequest> PrepareRequest(const TActorContext &) override { TAutoPtr<TRequest> request = new TRequest; const TCgiParameters& cgi = RequestEvent->Get()->Request.GetParams(); diff --git a/ydb/core/cms/json_proxy_operations.h b/ydb/core/cms/json_proxy_operations.h index 3c18dfdbcac..dbf03e011ff 100644 --- a/ydb/core/cms/json_proxy_operations.h +++ b/ydb/core/cms/json_proxy_operations.h @@ -14,8 +14,7 @@ public: { } - ui64 GetTabletId(const TActorContext &) const override - { + ui64 GetTabletId(const TActorContext &) const override { const TCgiParameters &cgi = this->RequestEvent->Get()->Request.GetParams(); ui64 tabletId = 0; @@ -30,16 +29,14 @@ public: return tabletId; } - TString GetTabletName() const override - { + TString GetTabletName() const override { return "DataShard"; } }; class TJsonProxyDataShardGetOperation : public TJsonProxyDataShard<TEvDataShard::TEvGetOperationRequest, - TEvDataShard::TEvGetOperationResponse> { -private: - + TEvDataShard::TEvGetOperationResponse> +{ public: TJsonProxyDataShardGetOperation(NMon::TEvHttpInfo::TPtr &event) : TJsonProxyDataShard<TEvDataShard::TEvGetOperationRequest, @@ -47,8 +44,7 @@ public: { } - TAutoPtr<TEvDataShard::TEvGetOperationRequest> PrepareRequest(const TActorContext &) override - { + TAutoPtr<TEvDataShard::TEvGetOperationRequest> PrepareRequest(const TActorContext &) override { auto *request = new TEvDataShard::TEvGetOperationRequest; const TCgiParameters &cgi = RequestEvent->Get()->Request.GetParams(); if (cgi.Has("opid")) { @@ -61,9 +57,8 @@ public: }; class TJsonProxyDataShardGetReadTableSinkState : public TJsonProxyDataShard<TEvDataShard::TEvGetReadTableSinkStateRequest, - TEvDataShard::TEvGetReadTableSinkStateResponse> { -private: - + TEvDataShard::TEvGetReadTableSinkStateResponse> +{ public: TJsonProxyDataShardGetReadTableSinkState(NMon::TEvHttpInfo::TPtr &event) : TJsonProxyDataShard<TEvDataShard::TEvGetReadTableSinkStateRequest, @@ -71,8 +66,7 @@ public: { } - TAutoPtr<TEvDataShard::TEvGetReadTableSinkStateRequest> PrepareRequest(const TActorContext &) override - { + TAutoPtr<TEvDataShard::TEvGetReadTableSinkStateRequest> PrepareRequest(const TActorContext &) override { auto *request = new TEvDataShard::TEvGetReadTableSinkStateRequest; const TCgiParameters &cgi = RequestEvent->Get()->Request.GetParams(); if (cgi.Has("opid")) { @@ -85,9 +79,8 @@ public: }; class TJsonProxyDataShardGetReadTableScanState : public TJsonProxyDataShard<TEvDataShard::TEvGetReadTableScanStateRequest, - TEvDataShard::TEvGetReadTableScanStateResponse> { -private: - + TEvDataShard::TEvGetReadTableScanStateResponse> +{ public: TJsonProxyDataShardGetReadTableScanState(NMon::TEvHttpInfo::TPtr &event) : TJsonProxyDataShard<TEvDataShard::TEvGetReadTableScanStateRequest, @@ -95,8 +88,7 @@ public: { } - TAutoPtr<TEvDataShard::TEvGetReadTableScanStateRequest> PrepareRequest(const TActorContext &) override - { + TAutoPtr<TEvDataShard::TEvGetReadTableScanStateRequest> PrepareRequest(const TActorContext &) override { auto *request = new TEvDataShard::TEvGetReadTableScanStateRequest; const TCgiParameters &cgi = RequestEvent->Get()->Request.GetParams(); if (cgi.Has("opid")) { @@ -109,9 +101,8 @@ public: }; class TJsonProxyDataShardGetReadTableStreamState : public TJsonProxyDataShard<TEvDataShard::TEvGetReadTableStreamStateRequest, - TEvDataShard::TEvGetReadTableStreamStateResponse> { -private: - + TEvDataShard::TEvGetReadTableStreamStateResponse> +{ public: TJsonProxyDataShardGetReadTableStreamState(NMon::TEvHttpInfo::TPtr &event) : TJsonProxyDataShard<TEvDataShard::TEvGetReadTableStreamStateRequest, @@ -119,8 +110,7 @@ public: { } - TAutoPtr<TEvDataShard::TEvGetReadTableStreamStateRequest> PrepareRequest(const TActorContext &) override - { + TAutoPtr<TEvDataShard::TEvGetReadTableStreamStateRequest> PrepareRequest(const TActorContext &) override { auto *request = new TEvDataShard::TEvGetReadTableStreamStateRequest; const TCgiParameters &cgi = RequestEvent->Get()->Request.GetParams(); if (cgi.Has("opid")) { @@ -133,9 +123,8 @@ public: }; class TJsonProxyDataShardGetSlowOpProfiles : public TJsonProxyDataShard<TEvDataShard::TEvGetSlowOpProfilesRequest, - TEvDataShard::TEvGetSlowOpProfilesResponse> { -private: - + TEvDataShard::TEvGetSlowOpProfilesResponse> +{ public: TJsonProxyDataShardGetSlowOpProfiles(NMon::TEvHttpInfo::TPtr &event) : TJsonProxyDataShard<TEvDataShard::TEvGetSlowOpProfilesRequest, @@ -143,16 +132,14 @@ public: { } - TAutoPtr<TEvDataShard::TEvGetSlowOpProfilesRequest> PrepareRequest(const TActorContext &) override - { + TAutoPtr<TEvDataShard::TEvGetSlowOpProfilesRequest> PrepareRequest(const TActorContext &) override { return new TEvDataShard::TEvGetSlowOpProfilesRequest; } }; class TJsonProxyDataShardGetRSInfo : public TJsonProxyDataShard<TEvDataShard::TEvGetRSInfoRequest, - TEvDataShard::TEvGetRSInfoResponse> { -private: - + TEvDataShard::TEvGetRSInfoResponse> +{ public: TJsonProxyDataShardGetRSInfo(NMon::TEvHttpInfo::TPtr &event) : TJsonProxyDataShard<TEvDataShard::TEvGetRSInfoRequest, @@ -160,16 +147,14 @@ public: { } - TAutoPtr<TEvDataShard::TEvGetRSInfoRequest> PrepareRequest(const TActorContext &) override - { + TAutoPtr<TEvDataShard::TEvGetRSInfoRequest> PrepareRequest(const TActorContext &) override { return new TEvDataShard::TEvGetRSInfoRequest; } }; class TJsonProxyDataShardGetDataHistogram : public TJsonProxyDataShard<TEvDataShard::TEvGetDataHistogramRequest, - TEvDataShard::TEvGetDataHistogramResponse> { -private: - + TEvDataShard::TEvGetDataHistogramResponse> +{ public: TJsonProxyDataShardGetDataHistogram(NMon::TEvHttpInfo::TPtr &event) : TJsonProxyDataShard<TEvDataShard::TEvGetDataHistogramRequest, @@ -177,8 +162,7 @@ public: { } - TAutoPtr<TEvDataShard::TEvGetDataHistogramRequest> PrepareRequest(const TActorContext &) override - { + TAutoPtr<TEvDataShard::TEvGetDataHistogramRequest> PrepareRequest(const TActorContext &) override { return new TEvDataShard::TEvGetDataHistogramRequest; } }; diff --git a/ydb/core/cms/json_proxy_proto.h b/ydb/core/cms/json_proxy_proto.h index ebff56630c6..007dca4225b 100644 --- a/ydb/core/cms/json_proxy_proto.h +++ b/ydb/core/cms/json_proxy_proto.h @@ -6,6 +6,7 @@ #include <ydb/core/mon/mon.h> #include <google/protobuf/util/json_util.h> + #include <library/cpp/actors/core/actor.h> #include <library/cpp/actors/core/actor_bootstrapped.h> #include <library/cpp/actors/core/hfunc.h> @@ -15,6 +16,7 @@ #include <library/cpp/json/json_writer.h> #include <util/generic/serialized_enum.h> + #include <iostream> namespace NKikimr::NCms { @@ -24,8 +26,7 @@ private: using TBase = TActorBootstrapped<TJsonProxyProto>; public: - static constexpr NKikimrServices::TActivity::EType ActorActivityType() - { + static constexpr NKikimrServices::TActivity::EType ActorActivityType() { return NKikimrServices::TActivity::CMS_SERVICE_PROXY; } @@ -34,8 +35,7 @@ public: { } - void Bootstrap(const TActorContext &ctx) - { + void Bootstrap(const TActorContext &ctx) { LOG_DEBUG_S(ctx, NKikimrServices::CMS, "TJsonProxyProto::Bootstrap url=" << RequestEvent->Get()->Request.GetPathInfo()); ProcessRequest(ctx); @@ -43,9 +43,7 @@ public: } protected: - - void ProcessRequest(const TActorContext &ctx) - { + void ProcessRequest(const TActorContext &ctx) { const TCgiParameters &cgi = RequestEvent->Get()->Request.GetParams(); if (cgi.Has("enum")) { @@ -84,8 +82,7 @@ protected: NMon::IEvHttpInfoRes::EContentType::Custom)); } - void ReplyWithLogComponents(NLog::TSettings *settings, const TActorContext &ctx) - { + void ReplyWithLogComponents(NLog::TSettings *settings, const TActorContext &ctx) { NJson::TJsonValue json; if (settings) { @@ -105,17 +102,13 @@ protected: Reply(WriteJson(json), ctx); } - void ReplyWithEnumDescription(const ::google::protobuf::EnumDescriptor &descriptor, - const TActorContext &ctx) - { + void ReplyWithEnumDescription(const ::google::protobuf::EnumDescriptor &descriptor, const TActorContext &ctx) { ::google::protobuf::EnumDescriptorProto result; descriptor.CopyTo(&result); Reply(result, ctx); } - void ReplyWithTypeDescription(const ::google::protobuf::Descriptor &descriptor, - const TActorContext &ctx) - { + void ReplyWithTypeDescription(const ::google::protobuf::Descriptor &descriptor, const TActorContext &ctx) { ::google::protobuf::DescriptorProto result; descriptor.CopyTo(&result); @@ -132,9 +125,7 @@ protected: Reply(json, ctx); } - void AddCustomFieldOptions(const ::google::protobuf::Descriptor &descriptor, - NJson::TJsonValue &val) - { + void AddCustomFieldOptions(const ::google::protobuf::Descriptor &descriptor, NJson::TJsonValue &val) { if (!val.IsMap() || !val.Has("field")) return; @@ -173,21 +164,18 @@ protected: } - TString ProtoToJson(const google::protobuf::Message &resp) - { + TString ProtoToJson(const google::protobuf::Message &resp) { auto config = NProtobufJson::TProto2JsonConfig() .SetFormatOutput(false) .SetEnumMode(NProtobufJson::TProto2JsonConfig::EnumName); return NProtobufJson::Proto2Json(resp, config); } - void Reply(const google::protobuf::Message &resp, const TActorContext &ctx) - { + void Reply(const google::protobuf::Message &resp, const TActorContext &ctx) { Reply(ProtoToJson(resp), ctx); } - void Reply(const TString &json, const TActorContext &ctx) - { + void Reply(const TString &json, const TActorContext &ctx) { LOG_TRACE_S(ctx, NKikimrServices::CMS, "TJsonProxyProto reply with json '" << json << "'"); diff --git a/ydb/core/cms/json_proxy_sentinel.h b/ydb/core/cms/json_proxy_sentinel.h index 70b7f3da53f..53804c97261 100644 --- a/ydb/core/cms/json_proxy_sentinel.h +++ b/ydb/core/cms/json_proxy_sentinel.h @@ -5,16 +5,13 @@ namespace NKikimr::NCms { class TJsonProxySentinel : public TJsonProxyCms<TEvCms::TEvGetSentinelStateRequest, TEvCms::TEvGetSentinelStateResponse> { -private: - public: TJsonProxySentinel(NMon::TEvHttpInfo::TPtr &event) : TJsonProxyCms<TEvCms::TEvGetSentinelStateRequest, TEvCms::TEvGetSentinelStateResponse>(event) { } - TAutoPtr<TRequest> PrepareRequest(const TActorContext &) override - { + TAutoPtr<TRequest> PrepareRequest(const TActorContext &) override { TAutoPtr<TRequest> request = new TRequest; const TCgiParameters& cgi = RequestEvent->Get()->Request.GetParams(); diff --git a/ydb/core/cms/json_proxy_toggle_config_validator.h b/ydb/core/cms/json_proxy_toggle_config_validator.h index 5ba5c6d9931..e94aac1f472 100644 --- a/ydb/core/cms/json_proxy_toggle_config_validator.h +++ b/ydb/core/cms/json_proxy_toggle_config_validator.h @@ -7,9 +7,8 @@ namespace NKikimr::NCms { class TJsonProxyToggleConfigValidator : public TJsonProxyConsole<NConsole::TEvConsole::TEvToggleConfigValidatorRequest, - NConsole::TEvConsole::TEvToggleConfigValidatorResponse> { -private: - + NConsole::TEvConsole::TEvToggleConfigValidatorResponse> +{ public: TJsonProxyToggleConfigValidator(NMon::TEvHttpInfo::TPtr &event) : TJsonProxyConsole<NConsole::TEvConsole::TEvToggleConfigValidatorRequest, @@ -17,8 +16,7 @@ public: { } - TAutoPtr<TRequest> PrepareRequest(const TActorContext &) override - { + TAutoPtr<TRequest> PrepareRequest(const TActorContext &) override { TAutoPtr<TRequest> request = new TRequest; const TCgiParameters& cgi = RequestEvent->Get()->Request.GetParams(); diff --git a/ydb/core/cms/log_formatter.h b/ydb/core/cms/log_formatter.h index d4bbd707b1c..1776ef621f7 100644 --- a/ydb/core/cms/log_formatter.h +++ b/ydb/core/cms/log_formatter.h @@ -1,16 +1,16 @@ #pragma once + #include "defs.h" -#include <ydb/core/protos/cms.pb.h> #include <ydb/core/base/ticket_parser.h> +#include <ydb/core/protos/cms.pb.h> namespace NKikimr::NCms { template <NKikimrCms::ETextFormat format> class TLogFormatter { public: - static TString Format(const NKikimrCms::TLogRecord &rec) - { + static TString Format(const NKikimrCms::TLogRecord &rec) { switch (rec.GetRecordType()) { case NKikimrCms::TLogRecordData::CMS_LOADED: return FormatData(rec.GetData().GetCmsLoaded()); @@ -23,25 +23,21 @@ public: break; default: return "[unsupported record data type]"; - }; + } } - template <NKikimrCms::ETextFormat U> - friend class TLogFormatter; + template <NKikimrCms::ETextFormat U> friend class TLogFormatter; private: TLogFormatter() {}; - template<typename T> - static TString FormatData(const T &data) - { + template <typename T> + static TString FormatData(const T &data) { Y_UNUSED(data); return "[unsupported record data type]"; } - static void OutputItem(IOutputStream &os, - const NKikimrCms::TLogRecordData::TMarkersModification &data) - { + static void OutputItem(IOutputStream &os, const NKikimrCms::TLogRecordData::TMarkersModification &data) { if (data.HasHost()) os << "host " << data.GetHost(); else if (data.HasNode()) @@ -52,9 +48,7 @@ private: os << "VDisk " << VDiskIDFromVDiskID(data.GetVDisk()).ToString(); } - static void OutputMarkers(IOutputStream &os, - const ::google::protobuf::RepeatedField<int> &list) - { + static void OutputMarkers(IOutputStream &os, const ::google::protobuf::RepeatedField<int> &list) { if (list.size()) { for (auto &elem : list) os << " " << static_cast<NKikimrCms::EMarker>(elem); @@ -63,10 +57,7 @@ private: } } - static void OutputDowntimes(IOutputStream &os, - const TString &prefix, - const NKikimrCms::TAvailabilityStats &stats) - { + static void OutputDowntimes(IOutputStream &os, const TString &prefix, const NKikimrCms::TAvailabilityStats &stats) { os << prefix; for (auto &entry : stats.GetDowntimes()) { TInstant start = TInstant::FromValue(entry.GetStart()); @@ -80,9 +71,8 @@ private: } }; -template<> template<> -TString TLogFormatter<NKikimrCms::TEXT_FORMAT_SHORT>::FormatData(const NKikimrCms::TLogRecordData::TCmsLoaded &data) -{ +template <> template <> +TString TLogFormatter<NKikimrCms::TEXT_FORMAT_SHORT>::FormatData(const NKikimrCms::TLogRecordData::TCmsLoaded &data) { TStringStream ss; ss << "CMS loaded at " << data.GetHost() << " (" << data.GetNodeId() << ")" @@ -90,15 +80,13 @@ TString TLogFormatter<NKikimrCms::TEXT_FORMAT_SHORT>::FormatData(const NKikimrCm return ss.Str(); } -template<> template<> -TString TLogFormatter<NKikimrCms::TEXT_FORMAT_DETAILED>::FormatData(const NKikimrCms::TLogRecordData::TCmsLoaded &data) -{ +template <> template <> +TString TLogFormatter<NKikimrCms::TEXT_FORMAT_DETAILED>::FormatData(const NKikimrCms::TLogRecordData::TCmsLoaded &data) { return TLogFormatter<NKikimrCms::TEXT_FORMAT_SHORT>::FormatData(data); } -template<> template<> -TString TLogFormatter<NKikimrCms::TEXT_FORMAT_SHORT>::FormatData(const NKikimrCms::TLogRecordData::TPDiskMonitorAction &data) -{ +template <> template <> +TString TLogFormatter<NKikimrCms::TEXT_FORMAT_SHORT>::FormatData(const NKikimrCms::TLogRecordData::TPDiskMonitorAction &data) { TStringStream ss; ss << "Send command to BS_CONTROLLER to change status of PDisk " << data.GetPDiskId().GetNodeId() << ":" << data.GetPDiskId().GetDiskId() @@ -111,9 +99,8 @@ TString TLogFormatter<NKikimrCms::TEXT_FORMAT_SHORT>::FormatData(const NKikimrCm return ss.Str(); } -template<> template<> -TString TLogFormatter<NKikimrCms::TEXT_FORMAT_DETAILED>::FormatData(const NKikimrCms::TLogRecordData::TPDiskMonitorAction &data) -{ +template <> template <> +TString TLogFormatter<NKikimrCms::TEXT_FORMAT_DETAILED>::FormatData(const NKikimrCms::TLogRecordData::TPDiskMonitorAction &data) { TStringStream ss; ss << TLogFormatter<NKikimrCms::TEXT_FORMAT_SHORT>::FormatData(data) << " disk markers:"; @@ -127,9 +114,8 @@ TString TLogFormatter<NKikimrCms::TEXT_FORMAT_DETAILED>::FormatData(const NKikim return ss.Str(); } -template<> template<> -TString TLogFormatter<NKikimrCms::TEXT_FORMAT_SHORT>::FormatData(const NKikimrCms::TLogRecordData::TMarkersModification &data) -{ +template <> template <> +TString TLogFormatter<NKikimrCms::TEXT_FORMAT_SHORT>::FormatData(const NKikimrCms::TLogRecordData::TMarkersModification &data) { TStringStream ss; ss << "Changed markers for "; OutputItem(ss, data); @@ -138,9 +124,8 @@ TString TLogFormatter<NKikimrCms::TEXT_FORMAT_SHORT>::FormatData(const NKikimrCm return ss.Str(); } -template<> template<> -TString TLogFormatter<NKikimrCms::TEXT_FORMAT_DETAILED>::FormatData(const NKikimrCms::TLogRecordData::TMarkersModification &data) -{ +template <> template <> +TString TLogFormatter<NKikimrCms::TEXT_FORMAT_DETAILED>::FormatData(const NKikimrCms::TLogRecordData::TMarkersModification &data) { TStringStream ss; ss << "Changed markers for "; OutputItem(ss, data); diff --git a/ydb/core/cms/logger.cpp b/ydb/core/cms/logger.cpp index 47bc57e7360..552142d601c 100644 --- a/ydb/core/cms/logger.cpp +++ b/ydb/core/cms/logger.cpp @@ -12,9 +12,7 @@ TLogger::TLogger(TCmsStatePtr state) { } -TString TLogger::GetLogMessage(const NKikimrCms::TLogRecord &rec, - NKikimrCms::ETextFormat format) const -{ +TString TLogger::GetLogMessage(const NKikimrCms::TLogRecord &rec, NKikimrCms::ETextFormat format) const { switch (format) { case TEXT_FORMAT_NONE: return ""; @@ -27,10 +25,7 @@ TString TLogger::GetLogMessage(const NKikimrCms::TLogRecord &rec, } } -bool TLogger::DbCleanupLog(TTransactionContext& txc, - const TActorContext& ctx) -{ - +bool TLogger::DbCleanupLog(TTransactionContext &txc, const TActorContext &ctx) { NIceDb::TNiceDb db(txc.DB); TInstant fromDate = ctx.Now() - State->Config.LogConfig.TTL; ui64 from = Max<ui64>() - fromDate.GetValue(); @@ -61,10 +56,7 @@ bool TLogger::DbCleanupLog(TTransactionContext& txc, return true; } -bool TLogger::DbLoadLogTail(const NKikimrCms::TLogFilter &filter, - TVector<NKikimrCms::TLogRecord> &result, - TTransactionContext& txc) -{ +bool TLogger::DbLoadLogTail(const NKikimrCms::TLogFilter &filter, TVector<NKikimrCms::TLogRecord> &result, TTransactionContext &txc) { result.clear(); ui64 from = 0; @@ -108,10 +100,7 @@ bool TLogger::DbLoadLogTail(const NKikimrCms::TLogFilter &filter, return true; } -void TLogger::DbLogData(const TLogRecordData &data, - TTransactionContext& txc, - const TActorContext& ctx) -{ +void TLogger::DbLogData(const TLogRecordData &data, TTransactionContext &txc, const TActorContext &ctx) { if (!State->Config.IsLogEnabled(data.GetRecordType())) return; diff --git a/ydb/core/cms/logger.h b/ydb/core/cms/logger.h index 92361f91a8c..d16eaee597d 100644 --- a/ydb/core/cms/logger.h +++ b/ydb/core/cms/logger.h @@ -1,6 +1,6 @@ #pragma once -#include "defs.h" +#include "defs.h" #include "cms_state.h" #include "scheme.h" @@ -21,17 +21,12 @@ class TLogger { public: TLogger(TCmsStatePtr state); - TString GetLogMessage(const NKikimrCms::TLogRecord &rec, - NKikimrCms::ETextFormat format) const; - - bool DbCleanupLog(TTransactionContext& txc, - const TActorContext& ctx); - bool DbLoadLogTail(const NKikimrCms::TLogFilter &filter, - TVector<NKikimrCms::TLogRecord> &result, - TTransactionContext& txc); - void DbLogData(const NKikimrCms::TLogRecordData &data, - TTransactionContext& txc, - const TActorContext& ctx); + TString GetLogMessage(const NKikimrCms::TLogRecord &rec, NKikimrCms::ETextFormat format) const; + + bool DbCleanupLog(TTransactionContext& txc, const TActorContext& ctx); + bool DbLoadLogTail(const NKikimrCms::TLogFilter &filter, TVector<NKikimrCms::TLogRecord> &result, TTransactionContext& txc); + void DbLogData(const NKikimrCms::TLogRecordData &data, TTransactionContext& txc, const TActorContext& ctx); + private: TCmsStatePtr State; }; diff --git a/ydb/core/cms/node_checkers.cpp b/ydb/core/cms/node_checkers.cpp index b5d3c6dbf7d..5ebb1646ca8 100644 --- a/ydb/core/cms/node_checkers.cpp +++ b/ydb/core/cms/node_checkers.cpp @@ -1,8 +1,9 @@ #include "node_checkers.h" -#include "util/string/cast.h" #include <ydb/core/protos/cms.pb.h> +#include <util/string/cast.h> + namespace NKikimr::NCms { #define NCH_LOG_D(stream) LOG_DEBUG_S (*TlsActivationContext, NKikimrServices::CMS, "[Checker] " << stream) @@ -127,5 +128,4 @@ bool TNodesStateBase::TryToLockNode(ui32 nodeId, bool isForceRestart) { return true; } - } // namespace NKikimr::NCms diff --git a/ydb/core/cms/node_checkers.h b/ydb/core/cms/node_checkers.h index 4247429a53f..fd3544b6ad5 100644 --- a/ydb/core/cms/node_checkers.h +++ b/ydb/core/cms/node_checkers.h @@ -49,6 +49,7 @@ public: , DownNodesCount(0) { } + virtual ~TNodesStateBase() = default; void ApplyLimits(ui32 nodesLimit, ui32 ratioLimit) { @@ -92,7 +93,6 @@ public: } }; - class TClusterNodesState : public TNodesStateBase { public: TClusterNodesState(ui32 disabledNodesLimit, ui32 disabledNodesRatioLimit) diff --git a/ydb/core/cms/pdiskid.h b/ydb/core/cms/pdiskid.h index 6f30f6a9ea5..bedaffcf44c 100644 --- a/ydb/core/cms/pdiskid.h +++ b/ydb/core/cms/pdiskid.h @@ -1,4 +1,5 @@ #pragma once + #include "defs.h" namespace NKikimr::NCms { @@ -19,35 +20,29 @@ struct TPDiskID { { } - explicit operator bool() const - { + explicit operator bool() const { return NodeId; } - bool operator==(const TPDiskID &other) const - { + bool operator==(const TPDiskID &other) const { return NodeId == other.NodeId && DiskId == other.DiskId; } - bool operator!=(const TPDiskID &other) const - { + bool operator!=(const TPDiskID &other) const { return !(*this == other); } - bool operator<(const TPDiskID &other) const - { + bool operator<(const TPDiskID &other) const { if (NodeId != other.NodeId) return NodeId < other.NodeId; return DiskId < other.DiskId; } - TString ToString() const - { + TString ToString() const { return Sprintf("%" PRIu32 ":%" PRIu32, NodeId, DiskId); } - void Serialize(NKikimrCms::TPDiskID *rec) const - { + void Serialize(NKikimrCms::TPDiskID *rec) const { rec->SetNodeId(NodeId); rec->SetDiskId(DiskId); } @@ -61,7 +56,6 @@ struct TPDiskIDHash { } // namespace NKikimr::NCms -template<> -inline void Out<NKikimr::NCms::TPDiskID>(IOutputStream& o, const NKikimr::NCms::TPDiskID& x) { +Y_DECLARE_OUT_SPEC(inline, NKikimr::NCms::TPDiskID, o, x) { o << x.ToString(); } diff --git a/ydb/core/cms/ut_helpers.cpp b/ydb/core/cms/ut_helpers.cpp index 3d51be0a1cd..64625436e60 100644 --- a/ydb/core/cms/ut_helpers.cpp +++ b/ydb/core/cms/ut_helpers.cpp @@ -1,13 +1,9 @@ #include "ut_helpers.h" -template<> -void Out<NKikimrCms::TAction::EType>(IOutputStream &os, NKikimrCms::TAction::EType type) -{ +Y_DECLARE_OUT_SPEC(, NKikimrCms::TAction::EType, os, type) { os << NKikimrCms::TAction::EType_Name(type); } -template<> -void Out<NKikimrWhiteboard::TTabletStateInfo::ETabletState>(IOutputStream &os, NKikimrWhiteboard::TTabletStateInfo::ETabletState state) -{ +Y_DECLARE_OUT_SPEC(, NKikimrWhiteboard::TTabletStateInfo::ETabletState, os, state) { os << NKikimrWhiteboard::TTabletStateInfo::ETabletState_Name(state); } diff --git a/ydb/core/cms/ut_helpers.h b/ydb/core/cms/ut_helpers.h index ba2a0fa0505..b2d89a6e1e6 100644 --- a/ydb/core/cms/ut_helpers.h +++ b/ydb/core/cms/ut_helpers.h @@ -1,39 +1,34 @@ #pragma once + #include "cms.h" #include <ydb/core/blobstorage/base/blobstorage_events.h> #include <ydb/core/protos/cms.pb.h> #include <ydb/library/aclib/aclib.h> -namespace NKikimr { -namespace NCmsTest { +namespace NKikimr::NCmsTest { -inline void AddServices(NKikimrCms::TAction &action, const TString &service) -{ +inline void AddServices(NKikimrCms::TAction &action, const TString &service) { *action.AddServices() = service; } -template<typename... Ts> -void AddServices(NKikimrCms::TAction &action, const TString &service, Ts... services) -{ +template <typename... Ts> +void AddServices(NKikimrCms::TAction &action, const TString &service, Ts... services) { AddServices(action, service); AddServices(action, services...); } -inline void AddDevices(NKikimrCms::TAction &action, const TString &device) -{ +inline void AddDevices(NKikimrCms::TAction &action, const TString &device) { *action.AddDevices() = device; } -template<typename... Ts> -void AddDevices(NKikimrCms::TAction &action, const TString &device, Ts... devices) -{ +template <typename... Ts> +void AddDevices(NKikimrCms::TAction &action, const TString &device, Ts... devices) { AddDevices(action, device); AddDevices(action, devices...); } -inline NKikimrCms::TAction MakeAction(NKikimrCms::TAction::EType type, const TString &host, ui64 duration) -{ +inline NKikimrCms::TAction MakeAction(NKikimrCms::TAction::EType type, const TString &host, ui64 duration) { NKikimrCms::TAction action; action.SetType(type); action.SetHost(host); @@ -41,14 +36,12 @@ inline NKikimrCms::TAction MakeAction(NKikimrCms::TAction::EType type, const TSt return action; } -inline NKikimrCms::TAction MakeAction(NKikimrCms::TAction::EType type, ui32 nodeId, ui64 duration) -{ +inline NKikimrCms::TAction MakeAction(NKikimrCms::TAction::EType type, ui32 nodeId, ui64 duration) { return MakeAction(type, ToString(nodeId), duration); } -template<typename... Ts> -NKikimrCms::TAction MakeAction(NKikimrCms::TAction::EType type, const TString &host, ui64 duration, Ts... items) -{ +template <typename... Ts> +NKikimrCms::TAction MakeAction(NKikimrCms::TAction::EType type, const TString &host, ui64 duration, Ts... items) { NKikimrCms::TAction action = MakeAction(type, host, duration); if (type == NKikimrCms::TAction::START_SERVICES || type == NKikimrCms::TAction::RESTART_SERVICES @@ -59,29 +52,23 @@ NKikimrCms::TAction MakeAction(NKikimrCms::TAction::EType type, const TString &h return action; } -template<typename... Ts> -NKikimrCms::TAction MakeAction(NKikimrCms::TAction::EType type, ui32 nodeId, ui64 duration, Ts... items) -{ +template <typename... Ts> +NKikimrCms::TAction MakeAction(NKikimrCms::TAction::EType type, ui32 nodeId, ui64 duration, Ts... items) { return MakeAction(type, ToString(nodeId), duration, items...); } -inline void AddActions(TAutoPtr<NCms::TEvCms::TEvPermissionRequest> &event, - const NKikimrCms::TAction &action) -{ +inline void AddActions(TAutoPtr<NCms::TEvCms::TEvPermissionRequest> &event, const NKikimrCms::TAction &action) { event->Record.AddActions()->CopyFrom(action); } -template<typename... Ts> -void AddActions(TAutoPtr<NCms::TEvCms::TEvPermissionRequest> &event, - const NKikimrCms::TAction &action, Ts... actions) -{ +template <typename... Ts> +void AddActions(TAutoPtr<NCms::TEvCms::TEvPermissionRequest> &event, const NKikimrCms::TAction &action, Ts... actions) { AddActions(event, action); AddActions(event, actions...); } -template<typename... Ts> -TAutoPtr<NCms::TEvCms::TEvPermissionRequest> MakePermissionRequest(const TString &user, bool partial, bool dry, bool schedule, Ts... actions) -{ +template <typename... Ts> +TAutoPtr<NCms::TEvCms::TEvPermissionRequest> MakePermissionRequest(const TString &user, bool partial, bool dry, bool schedule, Ts... actions) { TAutoPtr<NCms::TEvCms::TEvPermissionRequest> event = new NCms::TEvCms::TEvPermissionRequest; event->Record.SetUser(user); event->Record.SetPartialPermissionAllowed(partial); @@ -92,67 +79,56 @@ TAutoPtr<NCms::TEvCms::TEvPermissionRequest> MakePermissionRequest(const TString return event; } -inline void AddPermissions(TAutoPtr<NCms::TEvCms::TEvManagePermissionRequest> &ev, - const TString &id) -{ +inline void AddPermissions(TAutoPtr<NCms::TEvCms::TEvManagePermissionRequest> &ev, const TString &id) { *ev->Record.AddPermissions() = id; } -template<typename... Ts> -void AddPermissions(TAutoPtr<NCms::TEvCms::TEvManagePermissionRequest> &ev, - const TString &id, - Ts... ids) -{ +template <typename... Ts> +void AddPermissions(TAutoPtr<NCms::TEvCms::TEvManagePermissionRequest> &ev, const TString &id, Ts... ids) { AddPermissions(ev, id); AddPermissions(ev, ids...); } inline TAutoPtr<NCms::TEvCms::TEvManagePermissionRequest> -MakeManagePermissionRequest(const TString &user, - NKikimrCms::TManagePermissionRequest::ECommand cmd, - bool dry) -{ - TAutoPtr<NCms::TEvCms::TEvManagePermissionRequest> event - = new NCms::TEvCms::TEvManagePermissionRequest; +MakeManagePermissionRequest(const TString &user, NKikimrCms::TManagePermissionRequest::ECommand cmd, bool dry) { + TAutoPtr<NCms::TEvCms::TEvManagePermissionRequest> event = new NCms::TEvCms::TEvManagePermissionRequest; event->Record.SetUser(user); event->Record.SetCommand(cmd); event->Record.SetDryRun(dry); return event; } -template<typename... Ts> -TAutoPtr<NCms::TEvCms::TEvManagePermissionRequest> -MakeManagePermissionRequest(const TString &user, - NKikimrCms::TManagePermissionRequest::ECommand cmd, - bool dry, - Ts... ids) +template <typename... Ts> +TAutoPtr<NCms::TEvCms::TEvManagePermissionRequest> MakeManagePermissionRequest( + const TString &user, + NKikimrCms::TManagePermissionRequest::ECommand cmd, + bool dry, + Ts... ids) { auto event = MakeManagePermissionRequest(user, cmd, dry); AddPermissions(event, ids...); return event; } -inline TAutoPtr<NCms::TEvCms::TEvManageRequestRequest> -MakeManageRequestRequest(const TString &user, - NKikimrCms::TManageRequestRequest::ECommand cmd, - bool dry) +inline TAutoPtr<NCms::TEvCms::TEvManageRequestRequest> MakeManageRequestRequest( + const TString &user, + NKikimrCms::TManageRequestRequest::ECommand cmd, + bool dry) { - TAutoPtr<NCms::TEvCms::TEvManageRequestRequest> event - = new NCms::TEvCms::TEvManageRequestRequest; + TAutoPtr<NCms::TEvCms::TEvManageRequestRequest> event = new NCms::TEvCms::TEvManageRequestRequest; event->Record.SetUser(user); event->Record.SetCommand(cmd); event->Record.SetDryRun(dry); return event; } -inline TAutoPtr<NCms::TEvCms::TEvManageRequestRequest> -MakeManageRequestRequest(const TString &user, - NKikimrCms::TManageRequestRequest::ECommand cmd, - const TString &id, - bool dry) +inline TAutoPtr<NCms::TEvCms::TEvManageRequestRequest> MakeManageRequestRequest( + const TString &user, + NKikimrCms::TManageRequestRequest::ECommand cmd, + const TString &id, + bool dry) { - TAutoPtr<NCms::TEvCms::TEvManageRequestRequest> event - = new NCms::TEvCms::TEvManageRequestRequest; + TAutoPtr<NCms::TEvCms::TEvManageRequestRequest> event = new NCms::TEvCms::TEvManageRequestRequest; event->Record.SetUser(user); event->Record.SetCommand(cmd); event->Record.SetRequestId(id); @@ -160,11 +136,11 @@ MakeManageRequestRequest(const TString &user, return event; } -inline TAutoPtr<NCms::TEvCms::TEvCheckRequest> -MakeCheckRequest(const TString &user, - const TString &id, - bool dry, - NKikimrCms::EAvailabilityMode availabilityMode = NKikimrCms::MODE_MAX_AVAILABILITY) +inline TAutoPtr<NCms::TEvCms::TEvCheckRequest> MakeCheckRequest( + const TString &user, + const TString &id, + bool dry, + NKikimrCms::EAvailabilityMode availabilityMode = NKikimrCms::MODE_MAX_AVAILABILITY) { TAutoPtr<NCms::TEvCms::TEvCheckRequest> event = new NCms::TEvCms::TEvCheckRequest; event->Record.SetUser(user); @@ -174,45 +150,34 @@ MakeCheckRequest(const TString &user, return event; } -inline void AddHosts(TAutoPtr<NCms::TEvCms::TEvWalleCreateTaskRequest> &ev, - ui32 node) -{ +inline void AddHosts(TAutoPtr<NCms::TEvCms::TEvWalleCreateTaskRequest> &ev, ui32 node) { *ev->Record.AddHosts() = ToString(node); } -template<typename... Ts> -void AddHosts(TAutoPtr<NCms::TEvCms::TEvWalleCreateTaskRequest> &ev, - ui32 node, - Ts... nodes) -{ +template <typename... Ts> +void AddHosts(TAutoPtr<NCms::TEvCms::TEvWalleCreateTaskRequest> &ev, ui32 node, Ts... nodes) { AddHosts(ev, node); AddHosts(ev, nodes...); } -inline void AddHosts(TAutoPtr<NCms::TEvCms::TEvWalleCreateTaskRequest> &ev, - const TString &host) -{ +inline void AddHosts(TAutoPtr<NCms::TEvCms::TEvWalleCreateTaskRequest> &ev, const TString &host) { *ev->Record.AddHosts() = host; } -template<typename... Ts> -void AddHosts(TAutoPtr<NCms::TEvCms::TEvWalleCreateTaskRequest> &ev, - const TString &host, - Ts... hosts) -{ +template <typename... Ts> +void AddHosts(TAutoPtr<NCms::TEvCms::TEvWalleCreateTaskRequest> &ev, const TString &host, Ts... hosts) { AddHosts(ev, host); AddHosts(ev, hosts...); } -template<typename... Ts> -TAutoPtr<NCms::TEvCms::TEvWalleCreateTaskRequest> -MakeWalleCreateRequest(const TString &id, - const TString &action, - bool dry, - Ts... hosts) +template <typename... Ts> +TAutoPtr<NCms::TEvCms::TEvWalleCreateTaskRequest> MakeWalleCreateRequest( + const TString &id, + const TString &action, + bool dry, + Ts... hosts) { - TAutoPtr<NCms::TEvCms::TEvWalleCreateTaskRequest> res - = new NCms::TEvCms::TEvWalleCreateTaskRequest; + TAutoPtr<NCms::TEvCms::TEvWalleCreateTaskRequest> res = new NCms::TEvCms::TEvWalleCreateTaskRequest; res->Record.SetTaskId(id); res->Record.SetType("automated"); res->Record.SetIssuer("UT"); @@ -222,27 +187,19 @@ MakeWalleCreateRequest(const TString &id, return res; } -template<typename T> -void AddHosts(NKikimrCms::TWalleTaskInfo &task, - T node) -{ +template <typename T> +void AddHosts(NKikimrCms::TWalleTaskInfo &task, T node) { *task.AddHosts() = ToString(node); } -template<typename T, typename... Ts> -void AddHosts(NKikimrCms::TWalleTaskInfo &task, - T node, - Ts... nodes) -{ +template <typename T, typename... Ts> +void AddHosts(NKikimrCms::TWalleTaskInfo &task, T node, Ts... nodes) { AddHosts(task, node); AddHosts(task, nodes...); } -template<typename... Ts> -NKikimrCms::TWalleTaskInfo MakeTaskInfo(const TString &id, - const TString &status, - Ts... nodes) -{ +template <typename... Ts> +NKikimrCms::TWalleTaskInfo MakeTaskInfo(const TString &id, const TString &status, Ts... nodes) { NKikimrCms::TWalleTaskInfo task; task.SetTaskId(id); task.SetStatus(status); @@ -250,29 +207,19 @@ NKikimrCms::TWalleTaskInfo MakeTaskInfo(const TString &id, return task; } -inline void AddActions(TAutoPtr<NCms::TEvCms::TEvNotification> &event, - const NKikimrCms::TAction &action) -{ +inline void AddActions(TAutoPtr<NCms::TEvCms::TEvNotification> &event, const NKikimrCms::TAction &action) { event->Record.AddActions()->CopyFrom(action); } -template<typename... Ts> -void AddActions(TAutoPtr<NCms::TEvCms::TEvNotification> &event, - const NKikimrCms::TAction &action, - Ts... actions) -{ +template <typename... Ts> +void AddActions(TAutoPtr<NCms::TEvCms::TEvNotification> &event, const NKikimrCms::TAction &action, Ts... actions) { AddActions(event, action); AddActions(event, actions...); } -template<typename... Ts> -TAutoPtr<NCms::TEvCms::TEvNotification> -MakeNotification(const TString &user, - TInstant when, - Ts... actions) -{ - TAutoPtr<NCms::TEvCms::TEvNotification> event - = new NCms::TEvCms::TEvNotification; +template <typename... Ts> +TAutoPtr<NCms::TEvCms::TEvNotification> MakeNotification(const TString &user, TInstant when, Ts... actions) { + TAutoPtr<NCms::TEvCms::TEvNotification> event = new NCms::TEvCms::TEvNotification; if (user) event->Record.SetUser(user); event->Record.SetTime(when.GetValue()); @@ -280,47 +227,36 @@ MakeNotification(const TString &user, return event; } -inline void AddItems(NKikimrCms::TItems &) -{ +inline void AddItems(NKikimrCms::TItems &) { } -inline void AddItem(NKikimrCms::TItems &items, const TString &host) -{ +inline void AddItem(NKikimrCms::TItems &items, const TString &host) { items.AddHosts(host); } -inline void AddItem(NKikimrCms::TItems &items, ui32 nodeId) -{ +inline void AddItem(NKikimrCms::TItems &items, ui32 nodeId) { items.AddNodes(nodeId); } -inline void AddItem(NKikimrCms::TItems &items, const NCms::TPDiskID &pdisk) -{ +inline void AddItem(NKikimrCms::TItems &items, const NCms::TPDiskID &pdisk) { auto &rec = *items.AddPDisks(); rec.SetNodeId(pdisk.NodeId); rec.SetDiskId(pdisk.DiskId); } -inline void AddItem(NKikimrCms::TItems &items, const TVDiskID &vdisk) -{ +inline void AddItem(NKikimrCms::TItems &items, const TVDiskID &vdisk) { VDiskIDFromVDiskID(vdisk, items.AddVDisks()); } -template<typename T, typename... Ts> -void AddItems(NKikimrCms::TItems &items, T item, Ts... args) -{ +template <typename T, typename... Ts> +void AddItems(NKikimrCms::TItems &items, T item, Ts... args) { AddItem(items, item); AddItems(items, args...); } -template<typename... Ts> -TAutoPtr<NCms::TEvCms::TEvSetMarkerRequest> -MakeSetMarkerRequest(NKikimrCms::EMarker marker, - const TString &token, - Ts... args) -{ - TAutoPtr<NCms::TEvCms::TEvSetMarkerRequest> event - = new NCms::TEvCms::TEvSetMarkerRequest; +template <typename... Ts> +TAutoPtr<NCms::TEvCms::TEvSetMarkerRequest> MakeSetMarkerRequest(NKikimrCms::EMarker marker, const TString &token, Ts... args) { + TAutoPtr<NCms::TEvCms::TEvSetMarkerRequest> event = new NCms::TEvCms::TEvSetMarkerRequest; event->Record.SetMarker(marker); AddItems(*event->Record.MutableItems(), args...); if (token) { @@ -330,14 +266,9 @@ MakeSetMarkerRequest(NKikimrCms::EMarker marker, return event; } -template<typename... Ts> -TAutoPtr<NCms::TEvCms::TEvResetMarkerRequest> -MakeResetMarkerRequest(NKikimrCms::EMarker marker, - const TString &token, - Ts... args) -{ - TAutoPtr<NCms::TEvCms::TEvResetMarkerRequest> event - = new NCms::TEvCms::TEvResetMarkerRequest; +template <typename... Ts> +TAutoPtr<NCms::TEvCms::TEvResetMarkerRequest> MakeResetMarkerRequest(NKikimrCms::EMarker marker, const TString &token, Ts... args) { + TAutoPtr<NCms::TEvCms::TEvResetMarkerRequest> event = new NCms::TEvCms::TEvResetMarkerRequest; event->Record.SetMarker(marker); AddItems(*event->Record.MutableItems(), args...); if (token) { @@ -354,7 +285,7 @@ public: { } - bool operator()(IEventHandle& ev) { + bool operator()(IEventHandle &ev) { if (ev.GetTypeRewrite() == TEvBlobStorage::EvControllerConfigRequest) { auto &rec = ev.Get<TEvBlobStorage::TEvControllerConfigRequest>()->Record; if (rec.GetRequest().CommandSize() @@ -369,16 +300,15 @@ private: NKikimrBlobStorage::EDriveStatus Status; }; -inline NKikimrWhiteboard::TSystemStateInfo MakeSystemStateInfo(const TString& version, const TVector<TString>& roles = {}) { +inline NKikimrWhiteboard::TSystemStateInfo MakeSystemStateInfo(const TString &version, const TVector<TString>& roles = {}) { NKikimrWhiteboard::TSystemStateInfo result; result.SetVersion(version); - for (const auto& role : roles) { + for (const auto &role : roles) { result.AddRoles(role); } return result; } -} // NCmsTest -} // NKikimr +} diff --git a/ydb/core/cms/walle.h b/ydb/core/cms/walle.h index 7d8d1d1337b..bb12bd090ec 100644 --- a/ydb/core/cms/walle.h +++ b/ydb/core/cms/walle.h @@ -1,9 +1,9 @@ #pragma once #include "audit_log.h" -#include "cms_state.h" #include "base_handler.h" #include "cms.h" +#include "cms_state.h" #include <util/generic/set.h> #include <util/generic/string.h> @@ -24,13 +24,12 @@ class TWalleApiHandler : public TApiMethodHandlerBase { public: virtual ~TWalleApiHandler() = default; - virtual IActor *CreateHandlerActor(NMon::TEvHttpInfo::TPtr &event) - { + virtual IActor *CreateHandlerActor(NMon::TEvHttpInfo::TPtr &event) { return CreateWalleApiHandler(event); } }; -inline void WalleAuditLog(const IEventBase* request, const IEventBase* response, const TActorContext& ctx) { +inline void WalleAuditLog(const IEventBase *request, const IEventBase *response, const TActorContext &ctx) { AuditLog("Wall-E adapter", request, response, ctx); } diff --git a/ydb/core/cms/walle_api_handler.cpp b/ydb/core/cms/walle_api_handler.cpp index c11eeabb2a8..50891b36459 100644 --- a/ydb/core/cms/walle_api_handler.cpp +++ b/ydb/core/cms/walle_api_handler.cpp @@ -1,14 +1,14 @@ #include "walle.h" -#include <library/cpp/actors/core/actor.h> -#include <library/cpp/actors/core/actor_bootstrapped.h> -#include <library/cpp/actors/core/hfunc.h> -#include <library/cpp/actors/core/mon.h> -#include <ydb/core/mon/mon.h> #include <ydb/core/base/appdata.h> #include <ydb/core/base/tablet_pipe.h> #include <ydb/core/cms/cms.h> +#include <ydb/core/mon/mon.h> +#include <library/cpp/actors/core/actor.h> +#include <library/cpp/actors/core/actor_bootstrapped.h> +#include <library/cpp/actors/core/hfunc.h> +#include <library/cpp/actors/core/mon.h> #include <library/cpp/json/json_reader.h> #include <library/cpp/json/json_writer.h> @@ -20,8 +20,7 @@ class TWalleCrateTaskHandler : public TActorBootstrapped<TWalleCrateTaskHandler> public: using TBase = TActorBootstrapped<TWalleCrateTaskHandler>; - static constexpr NKikimrServices::TActivity::EType ActorActivityType() - { + static constexpr NKikimrServices::TActivity::EType ActorActivityType() { return NKikimrServices::TActivity::CMS_SERVICE_PROXY; } @@ -30,13 +29,11 @@ public: { } - void Bootstrap(const TActorContext &ctx) - { + void Bootstrap(const TActorContext &ctx) { NMon::TEvHttpInfo *msg = RequestEvent->Get(); TString path {msg->Request.GetPathInfo().substr(strlen(WALLE_API_URL_PREFIX))}; - if (path == "tasks") { if (msg->Request.GetMethod() == HTTP_METHOD_GET) ProcessListTasksRequest(ctx); @@ -61,8 +58,7 @@ private: ////////////////////////////////////////////// // Create task ////////////////////////////////////////////// - void ProcessCreateTasksRequest(const NMonitoring::IMonHttpRequest &http, const TActorContext &ctx) - { + void ProcessCreateTasksRequest(const NMonitoring::IMonHttpRequest &http, const TActorContext &ctx) { NJson::TJsonValue json; try { @@ -92,8 +88,7 @@ private: Become(&TThis::StateCreateTask, ctx, TDuration::Seconds(60), new TEvents::TEvWakeup()); } - STFUNC(StateCreateTask) - { + STFUNC(StateCreateTask) { switch (ev->GetTypeRewrite()) { HFunc(TEvCms::TEvWalleCreateTaskResponse, Handle); HFunc(TEvTabletPipe::TEvClientConnected, Handle); @@ -105,8 +100,7 @@ private: } } - void Reply(const TWalleCreateTaskResponse &resp, const TActorContext &ctx) - { + void Reply(const TWalleCreateTaskResponse &resp, const TActorContext &ctx) { TString status; if (!CheckStatus(resp.GetStatus(), status, false, ctx)) return; @@ -123,24 +117,21 @@ private: Reply(WriteJson(map), ctx); } - void Handle(TEvCms::TEvWalleCreateTaskResponse::TPtr &ev, const TActorContext &ctx) - { + void Handle(TEvCms::TEvWalleCreateTaskResponse::TPtr &ev, const TActorContext &ctx) { Reply(ev->Get()->Record, ctx); } ////////////////////////////////////////////// // List tasks ////////////////////////////////////////////// - void ProcessListTasksRequest(const TActorContext &ctx) - { + void ProcessListTasksRequest(const TActorContext &ctx) { TAutoPtr<TEvCms::TEvWalleListTasksRequest> request = new TEvCms::TEvWalleListTasksRequest; SendToCms(request.Release(), ctx); Become(&TThis::StateListTasks, ctx, TDuration::Seconds(60), new TEvents::TEvWakeup()); } - STFUNC(StateListTasks) - { + STFUNC(StateListTasks) { switch (ev->GetTypeRewrite()) { HFunc(TEvCms::TEvWalleListTasksResponse, Handle); HFunc(TEvTabletPipe::TEvClientConnected, Handle); @@ -152,8 +143,7 @@ private: } } - void Reply(const TWalleListTasksResponse &resp, const TActorContext &ctx) - { + void Reply(const TWalleListTasksResponse &resp, const TActorContext &ctx) { NJson::TJsonValue tasks(NJson::JSON_ARRAY); for (auto &task : resp.GetTasks()) { NJson::TJsonValue hosts(NJson::JSON_ARRAY); @@ -173,16 +163,14 @@ private: Reply(WriteJson(res), ctx); } - void Handle(TEvCms::TEvWalleListTasksResponse::TPtr &ev, const TActorContext &ctx) - { + void Handle(TEvCms::TEvWalleListTasksResponse::TPtr &ev, const TActorContext &ctx) { Reply(ev->Get()->Record, ctx); } ////////////////////////////////////////////// // Check task ////////////////////////////////////////////// - void ProcessCheckTaskRequest(const TString &id, const TActorContext &ctx) - { + void ProcessCheckTaskRequest(const TString &id, const TActorContext &ctx) { TAutoPtr<TEvCms::TEvWalleCheckTaskRequest> request = new TEvCms::TEvWalleCheckTaskRequest; request->Record.SetTaskId(id); @@ -190,8 +178,7 @@ private: Become(&TThis::StateCheckTask, ctx, TDuration::Seconds(60), new TEvents::TEvWakeup()); } - STFUNC(StateCheckTask) - { + STFUNC(StateCheckTask) { switch (ev->GetTypeRewrite()) { HFunc(TEvCms::TEvWalleCheckTaskResponse, Handle); HFunc(TEvTabletPipe::TEvClientConnected, Handle); @@ -203,8 +190,7 @@ private: } } - void Reply(const TWalleCheckTaskResponse &resp, const TActorContext &ctx) - { + void Reply(const TWalleCheckTaskResponse &resp, const TActorContext &ctx) { TString status; if (!CheckStatus(resp.GetStatus(), status, true, ctx)) return; @@ -221,16 +207,14 @@ private: Reply(WriteJson(map), ctx); } - void Handle(TEvCms::TEvWalleCheckTaskResponse::TPtr &ev, const TActorContext &ctx) - { + void Handle(TEvCms::TEvWalleCheckTaskResponse::TPtr &ev, const TActorContext &ctx) { Reply(ev->Get()->Record, ctx); } ////////////////////////////////////////////// // Remove task ////////////////////////////////////////////// - void ProcessRemoveTaskRequest(const TString &id, const TActorContext &ctx) - { + void ProcessRemoveTaskRequest(const TString &id, const TActorContext &ctx) { TAutoPtr<TEvCms::TEvWalleRemoveTaskRequest> request = new TEvCms::TEvWalleRemoveTaskRequest; request->Record.SetTaskId(id); @@ -238,8 +222,7 @@ private: Become(&TThis::StateRemoveTask, ctx, TDuration::Seconds(60), new TEvents::TEvWakeup()); } - STFUNC(StateRemoveTask) - { + STFUNC(StateRemoveTask) { switch (ev->GetTypeRewrite()) { HFunc(TEvCms::TEvWalleRemoveTaskResponse, Handle); HFunc(TEvTabletPipe::TEvClientConnected, Handle); @@ -251,8 +234,7 @@ private: } } - void Reply(const TWalleRemoveTaskResponse &resp, const TActorContext &ctx) - { + void Reply(const TWalleRemoveTaskResponse &resp, const TActorContext &ctx) { TString status; if (!CheckStatus(resp.GetStatus(), status, true, ctx)) return; @@ -260,16 +242,14 @@ private: Reply("", ctx); } - void Handle(TEvCms::TEvWalleRemoveTaskResponse::TPtr &ev, const TActorContext &ctx) - { + void Handle(TEvCms::TEvWalleRemoveTaskResponse::TPtr &ev, const TActorContext &ctx) { Reply(ev->Get()->Record, ctx); } ////////////////////////////////////////////// // Common section ////////////////////////////////////////////// - bool CheckStatus(const TStatus &status, TString &out, bool use404, const TActorContext &ctx) - { + bool CheckStatus(const TStatus &status, TString &out, bool use404, const TActorContext &ctx) { if (status.GetCode() == TStatus::OK || status.GetCode() == TStatus::ALLOW) { out = "ok"; @@ -301,13 +281,11 @@ private: return false; } - void ReplyWithError(const TString &err, const TActorContext &ctx) - { + void ReplyWithError(const TString &err, const TActorContext &ctx) { return ReplyAndDie(err, ctx); } - void Reply(const TString &json, const TActorContext &ctx) - { + void Reply(const TString &json, const TActorContext &ctx) { const TString header = json ? NMonitoring::HTTPOKJSON : NMonitoring::HTTPNOCONTENT; return ReplyAndDie(header + json, ctx); } @@ -318,19 +296,16 @@ private: Die(ctx); } - void Die(const TActorContext& ctx) override - { + void Die(const TActorContext &ctx) override { NTabletPipe::CloseClient(ctx, CmsPipe); TBase::Die(ctx); } - void Timeout(const TActorContext& ctx) - { + void Timeout(const TActorContext &ctx) { ReplyWithError(TString("HTTP/1.1 408 Request Timeout\r\n\r\nCMS request timeout"), ctx); } - - void SendToCms(IEventBase* ev, const TActorContext &ctx) { + void SendToCms(IEventBase *ev, const TActorContext &ctx) { Y_VERIFY(!CmsPipe); ui32 domain = AppData(ctx)->DomainsInfo->Domains.begin()->first; @@ -374,9 +349,7 @@ private: TActorId CmsPipe; }; - -IActor *CreateWalleApiHandler(NMon::TEvHttpInfo::TPtr &event) -{ +IActor *CreateWalleApiHandler(NMon::TEvHttpInfo::TPtr &event) { return new TWalleCrateTaskHandler(event); } diff --git a/ydb/core/cms/walle_check_task_adapter.cpp b/ydb/core/cms/walle_check_task_adapter.cpp index 187924d8b42..dc6fe235a34 100644 --- a/ydb/core/cms/walle_check_task_adapter.cpp +++ b/ydb/core/cms/walle_check_task_adapter.cpp @@ -22,8 +22,7 @@ public: { } - void Bootstrap(const TActorContext &ctx) - { + void Bootstrap(const TActorContext &ctx) { TString id = RequestEvent->Get()->Record.GetTaskId(); LOG_INFO(ctx, NKikimrServices::CMS, "Processing Wall-E request: %s", @@ -70,8 +69,7 @@ public: } private: - STFUNC(StateWork) - { + STFUNC(StateWork) { switch (ev->GetTypeRewrite()) { HFunc(TEvCms::TEvPermissionResponse, Handle); CFunc(TEvents::TSystem::Wakeup, Timeout); @@ -82,31 +80,27 @@ private: } } - void ReplyWithErrorAndDie(TStatus::ECode code, const TString &err, const TActorContext &ctx) - { + void ReplyWithErrorAndDie(TStatus::ECode code, const TString &err, const TActorContext &ctx) { TAutoPtr<TEvCms::TEvWalleCheckTaskResponse> resp = new TEvCms::TEvWalleCheckTaskResponse; resp->Record.MutableStatus()->SetCode(code); resp->Record.MutableStatus()->SetReason(err); ReplyAndDie(resp.Release(), ctx); } - void ReplyAndDie(TAutoPtr<TEvCms::TEvWalleCheckTaskResponse> resp, const TActorContext &ctx) - { + void ReplyAndDie(TAutoPtr<TEvCms::TEvWalleCheckTaskResponse> resp, const TActorContext &ctx) { WalleAuditLog(RequestEvent->Get(), resp.Get(), ctx); ctx.Send(RequestEvent->Sender, resp.Release()); Die(ctx); } - void Handle(TEvCms::TEvPermissionResponse::TPtr &ev, const TActorContext &ctx) - { + void Handle(TEvCms::TEvPermissionResponse::TPtr &ev, const TActorContext &ctx) { auto &rec = ev->Get()->Record; Response->Record.MutableStatus()->CopyFrom(rec.GetStatus()); ReplyAndDie(Response, ctx); } - void Timeout(const TActorContext& ctx) - { + void Timeout(const TActorContext &ctx) { ReplyWithErrorAndDie(TStatus::ERROR_TEMP, "Timeout", ctx); } @@ -116,10 +110,7 @@ private: TActorId Cms; }; - -IActor *CreateWalleAdapter(TEvCms::TEvWalleCheckTaskRequest::TPtr &ev, - const TCmsStatePtr state, TActorId cms) -{ +IActor *CreateWalleAdapter(TEvCms::TEvWalleCheckTaskRequest::TPtr &ev, const TCmsStatePtr state, TActorId cms) { return new TWalleCheckTaskAdapter(ev, state, cms); } diff --git a/ydb/core/cms/walle_create_task_adapter.cpp b/ydb/core/cms/walle_create_task_adapter.cpp index 3eb92fe521a..8bae1b94f08 100644 --- a/ydb/core/cms/walle_create_task_adapter.cpp +++ b/ydb/core/cms/walle_create_task_adapter.cpp @@ -1,6 +1,6 @@ -#include "walle.h" -#include "info_collector.h" #include "cms_impl.h" +#include "info_collector.h" +#include "walle.h" #include <library/cpp/actors/core/actor_bootstrapped.h> #include <library/cpp/actors/core/hfunc.h> @@ -21,8 +21,7 @@ public: { } - void Bootstrap(const TActorContext &ctx) - { + void Bootstrap(const TActorContext &ctx) { auto &rec = RequestEvent->Get()->Record; LOG_INFO(ctx, NKikimrServices::CMS, "Processing Wall-E request: %s", @@ -56,8 +55,7 @@ public: } private: - STFUNC(StateWork) - { + STFUNC(StateWork) { switch (ev->GetTypeRewrite()) { HFunc(TEvCms::TEvPermissionResponse, Handle); HFunc(TEvCms::TEvGetClusterInfoResponse, Handle); @@ -70,8 +68,7 @@ private: } } - void ReplyWithErrorAndDie(TStatus::ECode code, const TString &err, const TActorContext &ctx) - { + void ReplyWithErrorAndDie(TStatus::ECode code, const TString &err, const TActorContext &ctx) { auto &rec = RequestEvent->Get()->Record; TAutoPtr<TEvCms::TEvWalleCreateTaskResponse> resp = new TEvCms::TEvWalleCreateTaskResponse; resp->Record.MutableStatus()->SetCode(code); @@ -81,15 +78,13 @@ private: ReplyAndDie(resp.Release(), ctx); } - void ReplyAndDie(TAutoPtr<TEvCms::TEvWalleCreateTaskResponse> resp, const TActorContext &ctx) - { + void ReplyAndDie(TAutoPtr<TEvCms::TEvWalleCreateTaskResponse> resp, const TActorContext &ctx) { WalleAuditLog(RequestEvent->Get(), resp.Get(), ctx); ctx.Send(RequestEvent->Sender, resp.Release()); Die(ctx); } - void Handle(TEvCms::TEvPermissionResponse::TPtr &ev, const TActorContext &ctx) - { + void Handle(TEvCms::TEvPermissionResponse::TPtr &ev, const TActorContext &ctx) { auto &rec = ev->Get()->Record; Response = new TEvCms::TEvWalleCreateTaskResponse; @@ -116,9 +111,7 @@ private: ReplyAndDie(Response, ctx); } - - void Handle(TEvCms::TEvGetClusterInfoResponse::TPtr &ev, const TActorContext &ctx) - { + void Handle(TEvCms::TEvGetClusterInfoResponse::TPtr &ev, const TActorContext &ctx) { if (ev->Get()->Info->IsOutdated()) { ReplyWithErrorAndDie(TStatus::ERROR_TEMP, "Cannot collect cluster info", ctx); return; @@ -187,7 +180,6 @@ private: } else Y_FAIL("Unknown action"); - for (auto &host : task.GetHosts()) { auto &hostAction = *request->Record.AddActions(); hostAction.CopyFrom(action); @@ -208,8 +200,7 @@ private: ReplyWithErrorAndDie(TStatus::ERROR_TEMP, ev.Get()->Get()->Reason, ctx); } - void Finish(const TActorContext& ctx) - { + void Finish(const TActorContext &ctx) { ReplyAndDie(Response, ctx); } @@ -218,9 +209,7 @@ private: TActorId Cms; }; - -IActor *CreateWalleAdapter(TEvCms::TEvWalleCreateTaskRequest::TPtr &ev, TActorId cms) -{ +IActor *CreateWalleAdapter(TEvCms::TEvWalleCreateTaskRequest::TPtr &ev, TActorId cms) { return new TWalleCreateTaskAdapter(ev, cms); } diff --git a/ydb/core/cms/walle_list_tasks_adapter.cpp b/ydb/core/cms/walle_list_tasks_adapter.cpp index d5429b1630f..542a08839db 100644 --- a/ydb/core/cms/walle_list_tasks_adapter.cpp +++ b/ydb/core/cms/walle_list_tasks_adapter.cpp @@ -20,8 +20,7 @@ public: { } - void Bootstrap(const TActorContext &ctx) - { + void Bootstrap(const TActorContext &ctx) { auto &rec = RequestEvent->Get()->Record; LOG_INFO(ctx, NKikimrServices::CMS, "Processing Wall-E request: %s", @@ -52,8 +51,7 @@ public: } private: - void ReplyAndDie(TAutoPtr<TEvCms::TEvWalleListTasksResponse> resp, const TActorContext &ctx) - { + void ReplyAndDie(TAutoPtr<TEvCms::TEvWalleListTasksResponse> resp, const TActorContext &ctx) { WalleAuditLog(RequestEvent->Get(), resp.Get(), ctx); ctx.Send(RequestEvent->Sender, resp.Release()); Die(ctx); @@ -63,9 +61,7 @@ private: const TCmsStatePtr State; }; - -IActor *CreateWalleAdapter(TEvCms::TEvWalleListTasksRequest::TPtr &ev, const TCmsStatePtr state) -{ +IActor *CreateWalleAdapter(TEvCms::TEvWalleListTasksRequest::TPtr &ev, const TCmsStatePtr state) { return new TWalleListTasksAdapter(ev, state); } diff --git a/ydb/core/cms/walle_remove_task_adapter.cpp b/ydb/core/cms/walle_remove_task_adapter.cpp index f25fdeac411..6c1624582a8 100644 --- a/ydb/core/cms/walle_remove_task_adapter.cpp +++ b/ydb/core/cms/walle_remove_task_adapter.cpp @@ -21,8 +21,7 @@ public: { } - void Bootstrap(const TActorContext &ctx) - { + void Bootstrap(const TActorContext &ctx) { TAutoPtr<TEvCms::TEvWalleRemoveTaskResponse> response = new TEvCms::TEvWalleRemoveTaskResponse; TString id = RequestEvent->Get()->Record.GetTaskId(); @@ -38,11 +37,11 @@ public: event->TaskId = id; ctx.Send(Cms, event.Release()); - Become(&TThis::StateWork, ctx, TDuration::Seconds(10), new TEvents::TEvWakeup()); } + Become(&TThis::StateWork, ctx, TDuration::Seconds(10), new TEvents::TEvWakeup()); + } private: - STFUNC(StateWork) - { + STFUNC(StateWork) { switch (ev->GetTypeRewrite()) { CFunc(TEvents::TSystem::Wakeup, Timeout); CFunc(TEvCms::EvWalleTaskRemoved, Finish); @@ -53,28 +52,24 @@ private: } } - void ReplyWithErrorAndDie(TStatus::ECode code, const TString &err, const TActorContext &ctx) - { + void ReplyWithErrorAndDie(TStatus::ECode code, const TString &err, const TActorContext &ctx) { TAutoPtr<TEvCms::TEvWalleRemoveTaskResponse> resp = new TEvCms::TEvWalleRemoveTaskResponse; resp->Record.MutableStatus()->SetCode(code); resp->Record.MutableStatus()->SetReason(err); ReplyAndDie(resp.Release(), ctx); } - void ReplyAndDie(TAutoPtr<TEvCms::TEvWalleRemoveTaskResponse> resp, const TActorContext &ctx) - { + void ReplyAndDie(TAutoPtr<TEvCms::TEvWalleRemoveTaskResponse> resp, const TActorContext &ctx) { WalleAuditLog(RequestEvent->Get(), resp.Get(), ctx); ctx.Send(RequestEvent->Sender, resp.Release()); Die(ctx); } - void Timeout(const TActorContext& ctx) - { + void Timeout(const TActorContext &ctx) { ReplyWithErrorAndDie(TStatus::ERROR_TEMP, "Timeout", ctx); } - void Finish(const TActorContext& ctx) - { + void Finish(const TActorContext &ctx) { TAutoPtr<TEvCms::TEvWalleRemoveTaskResponse> resp = new TEvCms::TEvWalleRemoveTaskResponse; resp->Record.MutableStatus()->SetCode(TStatus::OK); ReplyAndDie(resp, ctx); @@ -85,9 +80,7 @@ private: TActorId Cms; }; - -IActor *CreateWalleAdapter(TEvCms::TEvWalleRemoveTaskRequest::TPtr &ev, const TCmsStatePtr state, TActorId cms) -{ +IActor *CreateWalleAdapter(TEvCms::TEvWalleRemoveTaskRequest::TPtr &ev, const TCmsStatePtr state, TActorId cms) { return new TWalleRemoveTaskAdapter(ev, state, cms); } |