@@ -88,8 +88,11 @@ class TJsonTabletInfo : public TJsonWhiteboardRequest<TEvWhiteboard::TEvTabletSt
8888 }
8989 const auto & params (Event->Get ()->Request .GetParams ());
9090 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);
9396 Become (&TThis::StateRequestedLookup, TDuration::MilliSeconds (TBase::RequestSettings.Timeout ), new TEvents::TEvWakeup ());
9497 return ;
9598 }
@@ -103,13 +106,7 @@ class TJsonTabletInfo : public TJsonWhiteboardRequest<TEvWhiteboard::TEvTabletSt
103106 if (params.Has (" path" )) {
104107 TBase::RequestSettings.Timeout = FromStringWithDefault<ui32>(params.Get (" timeout" ), 10000 );
105108 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" ));
113110 Become (&TThis::StateRequestedDescribe, TDuration::MilliSeconds (TBase::RequestSettings.Timeout ), new TEvents::TEvWakeup ());
114111 } else {
115112 TBase::Bootstrap ();
@@ -134,6 +131,7 @@ class TJsonTabletInfo : public TJsonWhiteboardRequest<TEvWhiteboard::TEvTabletSt
134131 void Handle (TEvStateStorage::TEvBoardInfo::TPtr& ev) {
135132 TBase::RequestSettings.FilterNodeIds = TBase::GetNodesFromBoardReply (ev);
136133 CheckPath ();
134+ RequestDone ();
137135 }
138136
139137 TString GetColumnValue (const TCell& cell, const NKikimrSchemeOp::TColumnDescription& type) {
@@ -182,7 +180,7 @@ class TJsonTabletInfo : public TJsonWhiteboardRequest<TEvWhiteboard::TEvTabletSt
182180 NScheme::TTypeInfo typeInfo = NKikimr::NScheme::TypeInfoFromProto (type.GetTypeId (), type.GetTypeInfo ());
183181 auto convert = NPg::PgNativeTextFromNativeBinary (cell.AsBuf (),typeInfo.GetPgTypeDesc ());
184182 return TStringBuilder () << ' "' << (!convert.Error ? convert.Str : *convert.Error ) << ' "' ;;
185- }
183+ }
186184 case NScheme::NTypeIds::DyNumber: return " DyNumber" ;
187185 case NScheme::NTypeIds::Uuid: return " Uuid" ;
188186 default :
@@ -331,14 +329,13 @@ class TJsonTabletInfo : public TJsonWhiteboardRequest<TEvWhiteboard::TEvTabletSt
331329 }
332330 }
333331 }
334- if (Tablets.empty ()) {
335- ReplyAndPassAway ();
336- } else {
332+ if (!Tablets.empty ()) {
337333 TBase::Bootstrap ();
338334 for (auto tablet : Tablets) {
339335 Request->Record .AddFilterTabletId (tablet.first );
340336 }
341337 }
338+ RequestDone ();
342339 }
343340
344341 virtual void FilterResponse (NKikimrWhiteboard::TEvTabletStateResponse& response) override {
0 commit comments