Skip to content

Commit c28ab83

Browse files
authored
Avoid template base to avoid increasing the binary size (#6896)
1 parent 1c16959 commit c28ab83

32 files changed

+666
-622
lines changed

ydb/core/viewer/check_access.h

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,21 @@ using namespace NActors;
1717
using NSchemeShard::TEvSchemeShard;
1818
using TNavigate = NSchemeCache::TSchemeCacheNavigate;
1919

20-
class TCheckAccess : public TViewerPipeClient<TCheckAccess> {
21-
using TBase = TViewerPipeClient<TCheckAccess>;
20+
class TCheckAccess : public TViewerPipeClient {
21+
using TThis = TCheckAccess;
22+
using TBase = TViewerPipeClient;
2223
IViewer* Viewer;
2324
NMon::TEvHttpInfo::TPtr Event;
2425
TAutoPtr<TEvTxProxySchemeCache::TEvNavigateKeySetResult> CacheResult;
2526
TVector<TString> Permissions;
2627

2728
public:
28-
static constexpr NKikimrServices::TActivity::EType ActorActivityType() {
29-
return NKikimrServices::TActivity::VIEWER_HANDLER;
30-
}
31-
3229
TCheckAccess(IViewer* viewer, NMon::TEvHttpInfo::TPtr &ev)
3330
: Viewer(viewer)
3431
, Event(ev)
3532
{}
3633

37-
void Bootstrap() {
34+
void Bootstrap() override {
3835
const auto& params(Event->Get()->Request.GetParams());
3936
ui32 timeout = FromStringWithDefault<ui32>(params.Get("timeout"), 10000);
4037
TString database;
@@ -110,7 +107,7 @@ class TCheckAccess : public TViewerPipeClient<TCheckAccess> {
110107
return object->CheckAccess(access, *token);
111108
}
112109

113-
void ReplyAndPassAway() {
110+
void ReplyAndPassAway() override {
114111
std::unique_ptr<NACLib::TUserToken> token;
115112
if (Event->Get()->UserToken) {
116113
token = std::make_unique<NACLib::TUserToken>(Event->Get()->UserToken);

ydb/core/viewer/json_acl.h

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ namespace NViewer {
1414
using namespace NActors;
1515
using NSchemeShard::TEvSchemeShard;
1616

17-
class TJsonACL : public TViewerPipeClient<TJsonACL> {
18-
using TBase = TViewerPipeClient<TJsonACL>;
17+
class TJsonACL : public TViewerPipeClient {
18+
using TThis = TJsonACL;
19+
using TBase = TViewerPipeClient;
1920
IViewer* Viewer;
2021
NMon::TEvHttpInfo::TPtr Event;
2122
TAutoPtr<TEvTxProxySchemeCache::TEvNavigateKeySetResult> CacheResult;
@@ -24,16 +25,12 @@ class TJsonACL : public TViewerPipeClient<TJsonACL> {
2425
ui32 Timeout = 0;
2526

2627
public:
27-
static constexpr NKikimrServices::TActivity::EType ActorActivityType() {
28-
return NKikimrServices::TActivity::VIEWER_HANDLER;
29-
}
30-
3128
TJsonACL(IViewer* viewer, NMon::TEvHttpInfo::TPtr &ev)
3229
: Viewer(viewer)
3330
, Event(ev)
3431
{}
3532

36-
void Bootstrap() {
33+
void Bootstrap() override {
3734
const auto& params(Event->Get()->Request.GetParams());
3835
Timeout = FromStringWithDefault<ui32>(params.Get("timeout"), 10000);
3936
TString database;
@@ -158,7 +155,7 @@ class TJsonACL : public TViewerPipeClient<TJsonACL> {
158155
PassAway();
159156
}
160157

161-
void ReplyAndPassAway() {
158+
void ReplyAndPassAway() override {
162159
if (CacheResult == nullptr) {
163160
return ReplyAndPassAway(Viewer->GetHTTPINTERNALERROR(Event->Get(), "text/plain", "no SchemeCache response"));
164161
}

ydb/core/viewer/json_autocomplete.h

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ namespace NViewer {
1515
using namespace NActors;
1616
using TNavigate = NSchemeCache::TSchemeCacheNavigate;
1717

18-
class TJsonAutocomplete : public TViewerPipeClient<TJsonAutocomplete> {
19-
using TBase = TViewerPipeClient<TJsonAutocomplete>;
18+
class TJsonAutocomplete : public TViewerPipeClient {
19+
using TThis = TJsonAutocomplete;
20+
using TBase = TViewerPipeClient;
2021
IViewer* Viewer;
2122
NMon::TEvHttpInfo::TPtr Event;
2223
TEvViewer::TEvViewerRequest::TPtr ViewerRequest;
@@ -51,10 +52,6 @@ class TJsonAutocomplete : public TViewerPipeClient<TJsonAutocomplete> {
5152
std::vector<TNodeId> TenantDynamicNodes;
5253
bool Direct = false;
5354
public:
54-
static constexpr NKikimrServices::TActivity::EType ActorActivityType() {
55-
return NKikimrServices::TActivity::VIEWER_HANDLER;
56-
}
57-
5855
TJsonAutocomplete(IViewer* viewer, NMon::TEvHttpInfo::TPtr &ev)
5956
: Viewer(viewer)
6057
, Event(ev)
@@ -165,7 +162,7 @@ class TJsonAutocomplete : public TViewerPipeClient<TJsonAutocomplete> {
165162
return request;
166163
}
167164

168-
void Bootstrap() {
165+
void Bootstrap() override {
169166
if (ViewerRequest) {
170167
// handle proxied request
171168
SendSchemeCacheRequest();
@@ -394,7 +391,7 @@ class TJsonAutocomplete : public TViewerPipeClient<TJsonAutocomplete> {
394391
}
395392
}
396393

397-
void ReplyAndPassAway() {
394+
void ReplyAndPassAway() override {
398395
if (ProxyResult) {
399396
ParseProxyResult();
400397
} else if (Database) {

ydb/core/viewer/json_bscontrollerinfo.h

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,29 @@ namespace NViewer {
1313

1414
using namespace NActors;
1515

16-
class TJsonBSControllerInfo : public TViewerPipeClient<TJsonBSControllerInfo> {
17-
using TBase = TViewerPipeClient<TJsonBSControllerInfo>;
16+
class TJsonBSControllerInfo : public TViewerPipeClient {
17+
using TThis = TJsonBSControllerInfo;
18+
using TBase = TViewerPipeClient;
1819
IViewer* Viewer;
1920
NMon::TEvHttpInfo::TPtr Event;
2021
TAutoPtr<TEvBlobStorage::TEvResponseControllerInfo> ControllerInfo;
2122
TJsonSettings JsonSettings;
2223
ui32 Timeout = 0;
2324

2425
public:
25-
static constexpr NKikimrServices::TActivity::EType ActorActivityType() {
26-
return NKikimrServices::TActivity::VIEWER_HANDLER;
27-
}
28-
2926
TJsonBSControllerInfo(IViewer* viewer, NMon::TEvHttpInfo::TPtr &ev)
3027
: Viewer(viewer)
3128
, Event(ev)
3229
{}
3330

34-
void Bootstrap(const TActorContext& ctx) {
31+
void Bootstrap() override {
3532
const auto& params(Event->Get()->Request.GetParams());
3633
JsonSettings.EnumAsNumbers = !FromStringWithDefault<bool>(params.Get("enums"), false);
3734
JsonSettings.UI64AsString = !FromStringWithDefault<bool>(params.Get("ui64"), false);
3835
Timeout = FromStringWithDefault<ui32>(params.Get("timeout"), 10000);
3936
InitConfig(params);
4037
RequestBSControllerInfo();
38+
const auto ctx = TActivationContext::ActorContextFor(SelfId());
4139
Become(&TThis::StateRequestedInfo, ctx, TDuration::MilliSeconds(Timeout), new TEvents::TEvWakeup());
4240
}
4341

@@ -54,7 +52,7 @@ class TJsonBSControllerInfo : public TViewerPipeClient<TJsonBSControllerInfo> {
5452
RequestDone();
5553
}
5654

57-
void ReplyAndPassAway() {
55+
void ReplyAndPassAway() override {
5856
TStringStream json;
5957
if (ControllerInfo != nullptr) {
6058
TProtoToJson::ProtoToJson(json, ControllerInfo->Record);

ydb/core/viewer/json_cluster.h

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ using namespace NActors;
1919
using namespace NNodeWhiteboard;
2020
using ::google::protobuf::FieldDescriptor;
2121

22-
class TJsonCluster : public TViewerPipeClient<TJsonCluster> {
22+
class TJsonCluster : public TViewerPipeClient {
2323
using TThis = TJsonCluster;
24-
using TBase = TViewerPipeClient<TJsonCluster>;
24+
using TBase = TViewerPipeClient;
2525
IViewer* Viewer;
2626
NMon::TEvHttpInfo::TPtr Event;
2727
THolder<TEvInterconnect::TEvNodesInfo> NodesInfo;
@@ -50,10 +50,6 @@ class TJsonCluster : public TViewerPipeClient<TJsonCluster> {
5050
};
5151
TEventLog EventLog;
5252
public:
53-
static constexpr NKikimrServices::TActivity::EType ActorActivityType() {
54-
return NKikimrServices::TActivity::VIEWER_HANDLER;
55-
}
56-
5753
TJsonCluster(IViewer* viewer, NMon::TEvHttpInfo::TPtr& ev)
5854
: Viewer(viewer)
5955
, Event(ev)
@@ -66,7 +62,7 @@ class TJsonCluster : public TViewerPipeClient<TJsonCluster> {
6662
Timeout = FromStringWithDefault<ui32>(params.Get("timeout"), 10000);
6763
}
6864

69-
void Bootstrap(const TActorContext& ) {
65+
void Bootstrap() override {
7066
EventLog.StartTime = TActivationContext::Now();
7167
SendRequest(GetNameserviceActorId(), new TEvInterconnect::TEvListNodes());
7268
RequestConsoleListTenants();
@@ -315,7 +311,7 @@ class TJsonCluster : public TViewerPipeClient<TJsonCluster> {
315311
TMap<NKikimrBlobStorage::TVDiskID, const NKikimrWhiteboard::TVDiskStateInfo&> VDisksIndex;
316312
TMap<std::pair<ui32, ui32>, const NKikimrWhiteboard::TPDiskStateInfo&> PDisksIndex;
317313

318-
void ReplyAndPassAway() {
314+
void ReplyAndPassAway() override {
319315
EventLog.StartMergeBSGroupsTime = TActivationContext::Now();
320316
MergeWhiteboardResponses(MergedBSGroupInfo, BSGroupInfo);
321317
EventLog.StartMergeVDisksTime = TActivationContext::Now();

ydb/core/viewer/json_compute.h

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@ namespace NViewer {
2323

2424
using namespace NActors;
2525

26-
class TJsonCompute : public TViewerPipeClient<TJsonCompute> {
27-
using TBase = TViewerPipeClient<TJsonCompute>;
26+
class TJsonCompute : public TViewerPipeClient {
27+
using TThis = TJsonCompute;
28+
using TBase = TViewerPipeClient;
2829
IViewer* Viewer;
2930
THashMap<TString, NKikimrViewer::TTenant> TenantByPath;
3031
THashMap<TPathId, NKikimrViewer::TTenant> TenantBySubDomainKey;
@@ -80,10 +81,6 @@ class TJsonCompute : public TViewerPipeClient<TJsonCompute> {
8081
bool IsNodesListSorted = false;
8182

8283
public:
83-
static constexpr NKikimrServices::TActivity::EType ActorActivityType() {
84-
return NKikimrServices::TActivity::VIEWER_HANDLER;
85-
}
86-
8784
TJsonCompute(IViewer* viewer, NMon::TEvHttpInfo::TPtr& ev)
8885
: Viewer(viewer)
8986
, Event(ev)
@@ -109,7 +106,7 @@ class TJsonCompute : public TViewerPipeClient<TJsonCompute> {
109106
return false;
110107
}
111108

112-
void Bootstrap(const TActorContext& ) {
109+
void Bootstrap() override {
113110
const auto& params(Event->Get()->Request.GetParams());
114111
JsonSettings.EnumAsNumbers = !FromStringWithDefault<bool>(params.Get("enums"), true);
115112
JsonSettings.UI64AsString = !FromStringWithDefault<bool>(params.Get("ui64"), false);
@@ -555,7 +552,7 @@ class TJsonCompute : public TViewerPipeClient<TJsonCompute> {
555552
}
556553
}
557554

558-
void ReplyAndPassAway() {
555+
void ReplyAndPassAway() override {
559556
NKikimrWhiteboard::TEvTabletStateResponse tabletInfo;
560557
MergeWhiteboardResponses(tabletInfo, NodeTabletInfo);
561558
for (const auto& info : tabletInfo.GetTabletStateInfo()) {

ydb/core/viewer/json_describe.h

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ using namespace NActors;
1717
using NSchemeShard::TEvSchemeShard;
1818
using TNavigate = NSchemeCache::TSchemeCacheNavigate;
1919

20-
class TJsonDescribe : public TViewerPipeClient<TJsonDescribe> {
21-
using TBase = TViewerPipeClient<TJsonDescribe>;
20+
class TJsonDescribe : public TViewerPipeClient {
21+
using TThis = TJsonDescribe;
22+
using TBase = TViewerPipeClient;
2223
IViewer* Viewer;
2324
NMon::TEvHttpInfo::TPtr Event;
2425
TAutoPtr<TEvSchemeShard::TEvDescribeSchemeResult> SchemeShardResult;
@@ -30,10 +31,6 @@ class TJsonDescribe : public TViewerPipeClient<TJsonDescribe> {
3031
int Requests = 0;
3132

3233
public:
33-
static constexpr NKikimrServices::TActivity::EType ActorActivityType() {
34-
return NKikimrServices::TActivity::VIEWER_HANDLER;
35-
}
36-
3734
TJsonDescribe(IViewer* viewer, NMon::TEvHttpInfo::TPtr &ev)
3835
: Viewer(viewer)
3936
, Event(ev)
@@ -58,7 +55,7 @@ class TJsonDescribe : public TViewerPipeClient<TJsonDescribe> {
5855
record->MutableOptions()->SetReturnPartitioningInfo(FromStringWithDefault<bool>(params.Get("partitioning_info"), true));
5956
}
6057

61-
void Bootstrap() {
58+
void Bootstrap() override {
6259
const auto& params(Event->Get()->Request.GetParams());
6360
JsonSettings.EnumAsNumbers = !FromStringWithDefault<bool>(params.Get("enums"), false);
6461
JsonSettings.UI64AsString = !FromStringWithDefault<bool>(params.Get("ui64"), false);
@@ -229,7 +226,7 @@ class TJsonDescribe : public TViewerPipeClient<TJsonDescribe> {
229226
return result;
230227
}
231228

232-
void ReplyAndPassAway() {
229+
void ReplyAndPassAway() override {
233230
TStringStream json;
234231
if (SchemeShardResult != nullptr && SchemeShardResult->GetRecord().GetStatus() == NKikimrScheme::EStatus::StatusSuccess) {
235232
DescribeResult = GetSchemeShardDescribeSchemeInfo();

ydb/core/viewer/json_healthcheck.h

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ enum HealthCheckResponseFormat {
2525
PROMETHEUS
2626
};
2727

28-
class TJsonHealthCheck : public TViewerPipeClient<TJsonHealthCheck> {
29-
using TBase = TViewerPipeClient<TJsonHealthCheck>;
28+
class TJsonHealthCheck : public TViewerPipeClient {
29+
using TThis = TJsonHealthCheck;
30+
using TBase = TViewerPipeClient;
3031
IViewer* Viewer;
3132
static const bool WithRetry = false;
3233
NMon::TEvHttpInfo::TPtr Event;
@@ -41,10 +42,6 @@ class TJsonHealthCheck : public TViewerPipeClient<TJsonHealthCheck> {
4142
Ydb::Monitoring::StatusFlag::Status MinStatus = Ydb::Monitoring::StatusFlag::UNSPECIFIED;
4243

4344
public:
44-
static constexpr NKikimrServices::TActivity::EType ActorActivityType() {
45-
return NKikimrServices::TActivity::VIEWER_HANDLER;
46-
}
47-
4845
TJsonHealthCheck(IViewer* viewer, NMon::TEvHttpInfo::TPtr& ev)
4946
: Viewer(viewer)
5047
, Event(ev)
@@ -75,7 +72,7 @@ class TJsonHealthCheck : public TViewerPipeClient<TJsonHealthCheck> {
7572
Send(NHealthCheck::MakeHealthCheckID(), request.Release());
7673
}
7774

78-
void Bootstrap() {
75+
void Bootstrap() override {
7976
const auto& params(Event->Get()->Request.GetParams());
8077
InitConfig(params);
8178

@@ -217,7 +214,7 @@ class TJsonHealthCheck : public TViewerPipeClient<TJsonHealthCheck> {
217214
Send(Event->Sender, new NMon::TEvHttpInfoRes(Viewer->GetHTTPOKTEXT(Event->Get()) + ss.Str(), 0, NMon::IEvHttpInfoRes::EContentType::Custom));
218215
}
219216

220-
void ReplyAndPassAway() {
217+
void ReplyAndPassAway() override {
221218
if (Result) {
222219
if (Format == HealthCheckResponseFormat::JSON) {
223220
HandleJSON();

ydb/core/viewer/json_hiveinfo.h

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ namespace NViewer {
1414

1515
using namespace NActors;
1616

17-
class TJsonHiveInfo : public TViewerPipeClient<TJsonHiveInfo> {
18-
using TBase = TViewerPipeClient<TJsonHiveInfo>;
17+
class TJsonHiveInfo : public TViewerPipeClient {
18+
using TThis = TJsonHiveInfo;
19+
using TBase = TViewerPipeClient;
1920
IViewer* Viewer;
2021
NMon::TEvHttpInfo::TPtr Event;
2122
TAutoPtr<TEvHive::TEvResponseHiveInfo> HiveInfo;
@@ -24,16 +25,12 @@ class TJsonHiveInfo : public TViewerPipeClient<TJsonHiveInfo> {
2425
TNodeId NodeId = 0;
2526

2627
public:
27-
static constexpr NKikimrServices::TActivity::EType ActorActivityType() {
28-
return NKikimrServices::TActivity::VIEWER_HANDLER;
29-
}
30-
3128
TJsonHiveInfo(IViewer* viewer, NMon::TEvHttpInfo::TPtr &ev)
3229
: Viewer(viewer)
3330
, Event(ev)
3431
{}
3532

36-
void Bootstrap() {
33+
void Bootstrap() override {
3734
const auto& params(Event->Get()->Request.GetParams());
3835
ui64 hiveId = FromStringWithDefault<ui64>(params.Get("hive_id"), 0);
3936
JsonSettings.EnumAsNumbers = !FromStringWithDefault<bool>(params.Get("enums"), false);
@@ -75,7 +72,7 @@ class TJsonHiveInfo : public TViewerPipeClient<TJsonHiveInfo> {
7572
RequestDone();
7673
}
7774

78-
void ReplyAndPassAway() {
75+
void ReplyAndPassAway() override {
7976
TStringStream json;
8077
if (HiveInfo != nullptr) {
8178
if (NodeId != 0) {

0 commit comments

Comments
 (0)