Skip to content

Commit 642e800

Browse files
rebase
1 parent 3145597 commit 642e800

27 files changed

+194
-209
lines changed

ydb/core/grpc_services/local_rpc/local_rpc.h

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -293,23 +293,22 @@ concept TRequestWithOperationParams = requires(TRequest& request) {
293293
};
294294

295295
template<TRequestWithOperationParams TRequest>
296-
void SetRequestSyncOperationMode(TRequest& request, Ydb::Operations::OperationParams::OperationMode operationMode = Ydb::Operations::OperationParams::SYNC) {
297-
request.mutable_operation_params()->set_operation_mode(operationMode);
296+
void SetRequestSyncOperationMode(TRequest& request) {
297+
request.mutable_operation_params()->set_operation_mode(Ydb::Operations::OperationParams::SYNC);
298298
}
299299

300300
template<class TRequest>
301-
void SetRequestSyncOperationMode(TRequest&, Ydb::Operations::OperationParams::OperationMode) {
301+
void SetRequestSyncOperationMode(TRequest&) {
302302
// nothing
303303
}
304304

305305
template<typename TRpc>
306306
NThreading::TFuture<typename TRpc::TResponse> DoLocalRpc(typename TRpc::TRequest&& proto, const TString& database,
307307
const TMaybe<TString>& token, const TMaybe<TString>& requestType,
308-
TActorSystem* actorSystem, bool internalCall = false, Ydb::Operations::OperationParams::OperationMode operationMode = Ydb::Operations::OperationParams::SYNC)
309-
{
308+
TActorSystem* actorSystem, bool internalCall = false) {
310309
auto promise = NThreading::NewPromise<typename TRpc::TResponse>();
311310

312-
SetRequestSyncOperationMode(proto, operationMode);
311+
SetRequestSyncOperationMode(proto);
313312

314313
using TCbWrapper = TPromiseWrapper<typename TRpc::TResponse>;
315314
auto req = new TLocalRpcCtx<TRpc, TCbWrapper>(std::move(proto), TCbWrapper(promise), database, token, requestType, internalCall);
@@ -320,8 +319,8 @@ NThreading::TFuture<typename TRpc::TResponse> DoLocalRpc(typename TRpc::TRequest
320319
}
321320

322321
template<typename TRpc>
323-
NThreading::TFuture<typename TRpc::TResponse> DoLocalRpc(typename TRpc::TRequest&& proto, const TString& database, const TMaybe<TString>& token, TActorSystem* actorSystem, bool internalCall = false, Ydb::Operations::OperationParams::OperationMode operationMode = Ydb::Operations::OperationParams::SYNC) {
324-
return DoLocalRpc<TRpc>(std::move(proto), database, token, Nothing(), actorSystem, internalCall, operationMode);
322+
NThreading::TFuture<typename TRpc::TResponse> DoLocalRpc(typename TRpc::TRequest&& proto, const TString& database, const TMaybe<TString>& token, TActorSystem* actorSystem, bool internalCall = false) {
323+
return DoLocalRpc<TRpc>(std::move(proto), database, token, Nothing(), actorSystem, internalCall);
325324
}
326325

327326
template<typename TRpc>

ydb/core/viewer/json.json

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{
2+
"metadata": {
3+
"execution_id": "4578ea89-93aa2e63-c0ef36df-b5d4c3c8",
4+
"exec_status": "EXEC_STATUS_COMPLETED",
5+
"script_content": {
6+
"syntax": "SYNTAX_YQL_V1",
7+
"text": "SELECT * FROM `/Root/Test`;"
8+
},
9+
"result_sets_meta": [
10+
{
11+
"columns": [
12+
{
13+
"name": "Key",
14+
"type": {
15+
"optional_type": {
16+
"item": {
17+
"type_id": "UINT64"
18+
}
19+
}
20+
}
21+
},
22+
{
23+
"name": "Value",
24+
"type": {
25+
"optional_type": {
26+
"item": {
27+
"type_id": "STRING"
28+
}
29+
}
30+
}
31+
}
32+
]
33+
}
34+
],
35+
"exec_mode": "EXEC_MODE_EXECUTE",
36+
"exec_stats": {
37+
"query_phases": [
38+
{
39+
"duration_us": 1421,
40+
"table_access": [
41+
{
42+
"name": "/Root/Test",
43+
"reads": {
44+
"rows": 15,
45+
"bytes": 255
46+
},
47+
"partitions_count": 1
48+
}
49+
],
50+
"cpu_time_us": 942,
51+
"affected_shards": 1
52+
}
53+
],
54+
"compilation": {
55+
"duration_us": 7351,
56+
"cpu_time_us": 6955
57+
},
58+
"process_cpu_time_us": 72,
59+
"query_plan": "{}",
60+
"total_duration_us": 9039,
61+
"total_cpu_time_us": 7969
62+
}
63+
}
64+
}

ydb/core/viewer/json_local_rpc.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ class TJsonLocalRpc : public TViewerPipeClient {
3333
std::vector<HTTP_METHOD> AllowedMethods = {};
3434
TAutoPtr<TEvLocalRpcPrivate::TEvGrpcRequestResult<TProtoResult>> Result;
3535
NThreading::TFuture<TProtoResponse> RpcFuture;
36-
Ydb::Operations::OperationParams::OperationMode OperationMode = Ydb::Operations::OperationParams::SYNC;
3736

3837
public:
3938
static constexpr NKikimrServices::TActivity::EType ActorActivityType() {
@@ -57,6 +56,7 @@ class TJsonLocalRpc : public TViewerPipeClient {
5756
TString name;
5857
name = field->name();
5958
TString value = params.Get(name);
59+
Cerr << "jjjjjjj name " << name << Endl;
6060
if (!value.empty()) {
6161
FieldDescriptor::CppType type = field->cpp_type();
6262
switch (type) {
@@ -120,6 +120,7 @@ class TJsonLocalRpc : public TViewerPipeClient {
120120
bool Params2Proto(TProtoRequest& request) {
121121
auto postData = Event->Get()->Request.GetPostContent();
122122
if (!postData.empty()) {
123+
Cerr << "jjjjjjjjj GET" << Endl;
123124
try {
124125
NProtobufJson::Json2Proto(postData, request);
125126
}
@@ -128,6 +129,7 @@ class TJsonLocalRpc : public TViewerPipeClient {
128129
return false;
129130
}
130131
} else {
132+
Cerr << "jjjjjjjjj POST" << Endl;
131133
const auto& params(Event->Get()->Request.GetParams());
132134
Params2Proto(params, request);
133135
}
@@ -169,6 +171,7 @@ class TJsonLocalRpc : public TViewerPipeClient {
169171
return ReplyAndPassAway(GetHTTPBADREQUEST("text/plain", "Method is not allowed"));
170172
}
171173
if (Database.empty()) {
174+
Cerr << "!!!! field 'database' is required" << Endl;
172175
return ReplyAndPassAway(GetHTTPBADREQUEST("text/plain", "field 'database' is required"));
173176
}
174177
if (TBase::NeedToRedirect()) {

ydb/core/viewer/json_pipe_req.cpp

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ TViewerPipeClient::TViewerPipeClient(IViewer* viewer, NMon::TEvHttpInfo::TPtr& e
2525
: Viewer(viewer)
2626
, Event(ev)
2727
{
28-
InitConfig(Event->Get()->Request.GetParams());
28+
InitConfig();
2929
NWilson::TTraceId traceId;
3030
TStringBuf traceparent = Event->Get()->Request.GetHeader("traceparent");
3131
if (traceparent) {
@@ -589,7 +589,8 @@ std::vector<TNodeId> TViewerPipeClient::GetNodesFromBoardReply(TEvStateStorage::
589589
return GetNodesFromBoardReply(*ev->Get());
590590
}
591591

592-
void TViewerPipeClient::InitConfig(const TCgiParameters& params) {
592+
void TViewerPipeClient::InitConfig() {
593+
const TCgiParameters& params = Event->Get()->Request.GetParams();
593594
Followers = FromStringWithDefault(params.Get("followers"), Followers);
594595
Metrics = FromStringWithDefault(params.Get("metrics"), Metrics);
595596
WithRetry = FromStringWithDefault(params.Get("with_retry"), WithRetry);
@@ -598,6 +599,18 @@ void TViewerPipeClient::InitConfig(const TCgiParameters& params) {
598599
if (!Database) {
599600
Database = params.Get("tenant");
600601
}
602+
if (!Database) {
603+
auto postData = Event->Get()->Request.GetPostContent();
604+
Cerr << "jjjjjj postData: " << postData << Endl;
605+
static NJson::TJsonReaderConfig JsonConfig;
606+
NJson::TJsonValue requestData;
607+
bool success = NJson::ReadJsonTree(postData, &JsonConfig, &requestData);
608+
Cerr << "jjjjjj success: " << success << Endl;
609+
if (success) {
610+
Database = requestData["database"].GetStringRobust();
611+
Cerr << "jjjjjj Database from post data: " << Database << Endl;
612+
}
613+
}
601614
Direct = FromStringWithDefault<bool>(params.Get("direct"), Direct);
602615
JsonSettings.EnumAsNumbers = !FromStringWithDefault<bool>(params.Get("enums"), true);
603616
JsonSettings.UI64AsString = !FromStringWithDefault<bool>(params.Get("ui64"), true);

ydb/core/viewer/json_pipe_req.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ class TViewerPipeClient : public TActorBootstrapped<TViewerPipeClient> {
268268
TRequestResponse<TEvStateStorage::TEvBoardInfo> MakeRequestStateStorageEndpointsLookup(const TString& path, ui64 cookie = 0);
269269
std::vector<TNodeId> GetNodesFromBoardReply(TEvStateStorage::TEvBoardInfo::TPtr& ev);
270270
std::vector<TNodeId> GetNodesFromBoardReply(const TEvStateStorage::TEvBoardInfo& ev);
271-
void InitConfig(const TCgiParameters& params);
271+
void InitConfig();
272272
void InitConfig(const TRequestSettings& settings);
273273
void ClosePipes();
274274
ui32 FailPipeConnect(TTabletId tabletId);

ydb/core/viewer/json_storage_base.h

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ class TJsonStorageBase : public TViewerPipeClient {
3838
using TThis = TJsonStorageBase;
3939

4040
using TNodeId = ui32;
41-
IViewer* Viewer;
4241
TActorId Initiator;
43-
NMon::TEvHttpInfo::TPtr Event;
4442
THolder<TEvInterconnect::TEvNodesInfo> NodesInfo;
4543
TMap<ui32, NKikimrWhiteboard::TEvVDiskStateResponse> VDiskInfo;
4644
TMap<ui32, NKikimrWhiteboard::TEvPDiskStateResponse> PDiskInfo;
@@ -112,14 +110,13 @@ class TJsonStorageBase : public TViewerPipeClient {
112110
THashMap<TString, TGroupRow> GroupRowsByGroupId;
113111

114112
TJsonStorageBase(IViewer* viewer, NMon::TEvHttpInfo::TPtr& ev)
115-
: Viewer(viewer)
116-
, Initiator(ev->Sender)
117-
, Event(std::move(ev))
113+
: TBase(viewer, ev)
114+
, Initiator(Event->Sender)
118115
{
119116
const auto& params(Event->Get()->Request.GetParams());
120117
JsonSettings.EnumAsNumbers = !FromStringWithDefault<bool>(params.Get("enums"), true);
121118
JsonSettings.UI64AsString = !FromStringWithDefault<bool>(params.Get("ui64"), false);
122-
InitConfig(params);
119+
InitConfig();
123120
Timeout = FromStringWithDefault<ui32>(params.Get("timeout"), 10000);
124121
FilterTenant = params.Get("tenant");
125122
TString filterStoragePool = params.Get("pool");

ydb/core/viewer/json_vdisk_req.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,7 @@ class TJsonVDiskRequest : public TViewerPipeClient {
3737
using TThis = TJsonVDiskRequest<RequestType, ResponseType>;
3838
using TBase = TViewerPipeClient;
3939
using THelper = TJsonVDiskRequestHelper<RequestType, ResponseType>;
40-
IViewer* Viewer;
4140
TActorId Initiator;
42-
NMon::TEvHttpInfo::TPtr Event;
4341
TJsonSettings JsonSettings;
4442
bool AllEnums = false;
4543
ui32 Timeout = 0;
@@ -57,9 +55,8 @@ class TJsonVDiskRequest : public TViewerPipeClient {
5755

5856
public:
5957
TJsonVDiskRequest(IViewer* viewer, NMon::TEvHttpInfo::TPtr& ev)
60-
: Viewer(viewer)
58+
: TBase(viewer, ev)
6159
, Initiator(ev->Sender)
62-
, Event(ev)
6360
{}
6461

6562
void Bootstrap() override {
@@ -81,7 +78,7 @@ class TJsonVDiskRequest : public TViewerPipeClient {
8178
if (!NodeId) {
8279
NodeId = TlsActivationContext->ActorSystem()->NodeId;
8380
}
84-
TBase::InitConfig(params);
81+
TBase::InitConfig();
8582

8683

8784
JsonSettings.EnumAsNumbers = !FromStringWithDefault<bool>(params.Get("enums"), false);

ydb/core/viewer/pdisk_info.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class TPDiskInfo : public TViewerPipeClient {
5656
if (!NodeId) {
5757
NodeId = TlsActivationContext->ActorSystem()->NodeId;
5858
}
59-
TBase::InitConfig(params);
59+
TBase::InitConfig();
6060

6161
Timeout = FromStringWithDefault<ui32>(params.Get("timeout"), 10000);
6262
Retries = FromStringWithDefault<ui32>(params.Get("retries"), 3);

ydb/core/viewer/pdisk_restart.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ class TJsonPDiskRestart : public TViewerPipeClient {
2424
protected:
2525
using TThis = TJsonPDiskRestart;
2626
using TBase = TViewerPipeClient;
27-
IViewer* Viewer;
28-
NMon::TEvHttpInfo::TPtr Event;
2927
ui32 Timeout = 0;
3028
ui32 ActualRetries = 0;
3129
ui32 Retries = 0;
@@ -39,8 +37,7 @@ class TJsonPDiskRestart : public TViewerPipeClient {
3937

4038
public:
4139
TJsonPDiskRestart(IViewer* viewer, NMon::TEvHttpInfo::TPtr& ev)
42-
: Viewer(viewer)
43-
, Event(ev)
40+
: TBase(viewer, ev)
4441
{}
4542

4643
void Bootstrap() override {
@@ -69,7 +66,7 @@ class TJsonPDiskRestart : public TViewerPipeClient {
6966
if (!NodeId) {
7067
NodeId = TlsActivationContext->ActorSystem()->NodeId;
7168
}
72-
TBase::InitConfig(params);
69+
TBase::InitConfig();
7370

7471
Timeout = FromStringWithDefault<ui32>(params.Get("timeout"), 10000);
7572
Retries = FromStringWithDefault<ui32>(params.Get("retries"), 0);

ydb/core/viewer/pdisk_status.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ class TPDiskStatus : public TViewerPipeClient {
1313
protected:
1414
using TThis = TPDiskStatus;
1515
using TBase = TViewerPipeClient;
16-
IViewer* Viewer;
17-
NMon::TEvHttpInfo::TPtr Event;
1816
ui32 Timeout = 0;
1917

2018
std::unique_ptr<TEvBlobStorage::TEvControllerConfigResponse> Response;
@@ -24,8 +22,7 @@ class TPDiskStatus : public TViewerPipeClient {
2422

2523
public:
2624
TPDiskStatus(IViewer* viewer, NMon::TEvHttpInfo::TPtr& ev)
27-
: Viewer(viewer)
28-
, Event(ev)
25+
: TBase(viewer, ev)
2926
{}
3027

3128
void Bootstrap() override {
@@ -89,7 +86,7 @@ class TPDiskStatus : public TViewerPipeClient {
8986
return PassAway();
9087
}
9188

92-
TBase::InitConfig(params);
89+
TBase::InitConfig();
9390

9491
Timeout = FromStringWithDefault<ui32>(params.Get("timeout"), 10000);
9592

0 commit comments

Comments
 (0)