@@ -88,8 +88,11 @@ class TJsonTabletInfo : public TJsonWhiteboardRequest<TEvWhiteboard::TEvTabletSt
88
88
}
89
89
const auto & params (Event->Get ()->Request .GetParams ());
90
90
TBase::RequestSettings.Timeout = FromStringWithDefault<ui32>(params.Get (" timeout" ), 10000 );
91
- if (Database) {
92
- RegisterWithSameMailbox (CreateBoardLookupActor (MakeEndpointsBoardPath (Database), TBase::SelfId (), EBoardLookupMode::Second));
91
+
92
+ if (DatabaseBoardInfoResponse && DatabaseBoardInfoResponse->IsOk ()) {
93
+ TBase::RequestSettings.FilterNodeIds = TBase::GetNodesFromBoardReply (DatabaseBoardInfoResponse->GetRef ());
94
+ } else if (Database) {
95
+ RequestStateStorageEndpointsLookup (Database);
93
96
Become (&TThis::StateRequestedLookup, TDuration::MilliSeconds (TBase::RequestSettings.Timeout ), new TEvents::TEvWakeup ());
94
97
return ;
95
98
}
@@ -103,13 +106,7 @@ class TJsonTabletInfo : public TJsonWhiteboardRequest<TEvWhiteboard::TEvTabletSt
103
106
if (params.Has (" path" )) {
104
107
TBase::RequestSettings.Timeout = FromStringWithDefault<ui32>(params.Get (" timeout" ), 10000 );
105
108
IsBase64Encode = FromStringWithDefault<bool >(params.Get (" base64" ), IsBase64Encode);
106
- THolder<TEvTxUserProxy::TEvNavigate> request (new TEvTxUserProxy::TEvNavigate ());
107
- if (!Event->Get ()->UserToken .empty ()) {
108
- request->Record .SetUserToken (Event->Get ()->UserToken );
109
- }
110
- NKikimrSchemeOp::TDescribePath* record = request->Record .MutableDescribePath ();
111
- record->SetPath (params.Get (" path" ));
112
- TBase::Send (MakeTxProxyID (), request.Release ());
109
+ RequestTxProxyDescribe (params.Get (" path" ));
113
110
Become (&TThis::StateRequestedDescribe, TDuration::MilliSeconds (TBase::RequestSettings.Timeout ), new TEvents::TEvWakeup ());
114
111
} else {
115
112
TBase::Bootstrap ();
@@ -134,6 +131,7 @@ class TJsonTabletInfo : public TJsonWhiteboardRequest<TEvWhiteboard::TEvTabletSt
134
131
void Handle (TEvStateStorage::TEvBoardInfo::TPtr& ev) {
135
132
TBase::RequestSettings.FilterNodeIds = TBase::GetNodesFromBoardReply (ev);
136
133
CheckPath ();
134
+ RequestDone ();
137
135
}
138
136
139
137
TString GetColumnValue (const TCell& cell, const NKikimrSchemeOp::TColumnDescription& type) {
@@ -182,7 +180,7 @@ class TJsonTabletInfo : public TJsonWhiteboardRequest<TEvWhiteboard::TEvTabletSt
182
180
NScheme::TTypeInfo typeInfo = NKikimr::NScheme::TypeInfoFromProto (type.GetTypeId (), type.GetTypeInfo ());
183
181
auto convert = NPg::PgNativeTextFromNativeBinary (cell.AsBuf (),typeInfo.GetPgTypeDesc ());
184
182
return TStringBuilder () << ' "' << (!convert.Error ? convert.Str : *convert.Error ) << ' "' ;;
185
- }
183
+ }
186
184
case NScheme::NTypeIds::DyNumber: return " DyNumber" ;
187
185
case NScheme::NTypeIds::Uuid: return " Uuid" ;
188
186
default :
@@ -331,14 +329,13 @@ class TJsonTabletInfo : public TJsonWhiteboardRequest<TEvWhiteboard::TEvTabletSt
331
329
}
332
330
}
333
331
}
334
- if (Tablets.empty ()) {
335
- ReplyAndPassAway ();
336
- } else {
332
+ if (!Tablets.empty ()) {
337
333
TBase::Bootstrap ();
338
334
for (auto tablet : Tablets) {
339
335
Request->Record .AddFilterTabletId (tablet.first );
340
336
}
341
337
}
338
+ RequestDone ();
342
339
}
343
340
344
341
virtual void FilterResponse (NKikimrWhiteboard::TEvTabletStateResponse& response) override {
0 commit comments