diff options
author | kruall <kruall@ydb.tech> | 2022-12-01 17:02:31 +0300 |
---|---|---|
committer | kruall <kruall@ydb.tech> | 2022-12-01 17:02:31 +0300 |
commit | 91d3e1feb4f1a7648f4eedfd2eb1f113b222501f (patch) | |
tree | 896bbe8375a6b79dc39f13641002554f3025db49 | |
parent | f8d315d838d9d5f3fda70e2f30e29ac6f38315c6 (diff) | |
download | ydb-91d3e1feb4f1a7648f4eedfd2eb1f113b222501f.tar.gz |
Fix getblob hangle,
-rw-r--r-- | ydb/core/blobstorage/vdisk/skeleton/blobstorage_monactors.cpp | 32 | ||||
-rw-r--r-- | ydb/core/viewer/json_getblob.h | 2 |
2 files changed, 16 insertions, 18 deletions
diff --git a/ydb/core/blobstorage/vdisk/skeleton/blobstorage_monactors.cpp b/ydb/core/blobstorage/vdisk/skeleton/blobstorage_monactors.cpp index 48f91c8d7dd..9e524bc55d2 100644 --- a/ydb/core/blobstorage/vdisk/skeleton/blobstorage_monactors.cpp +++ b/ydb/core/blobstorage/vdisk/skeleton/blobstorage_monactors.cpp @@ -318,10 +318,10 @@ namespace NKikimr { TSkeletonFrontMonLogoBlobsQueryParams params{ .DbName = cgi.Get("dbname"), .Form = cgi.Get("form"), - .IndexOnly = static_cast<bool>(cgi.Get("IndexOnly")), - .ShowInternals = static_cast<bool>(cgi.Get("Internals")), - .SubmitButton = static_cast<bool>(cgi.Get("submit")), - .AllButton = static_cast<bool>(cgi.Get("all")), + .IndexOnly = cgi.Has("IndexOnly"), + .ShowInternals = cgi.Has("Internals"), + .SubmitButton = cgi.Has("submit"), + .AllButton = cgi.Has("all"), }; if (!params.AllButton) { @@ -401,6 +401,7 @@ namespace NKikimr { void Bootstrap(const TActorContext &ctx) { auto params = TSkeletonFrontMonLogoBlobsQueryParams::PullOut(Ev); + ShowInternals = params.ShowInternals; if constexpr (IsHttpInfo) { if (params.Form != TString()) { @@ -410,13 +411,7 @@ namespace NKikimr { } if (params.ErrorMsg) { - if constexpr (IsHttpInfo) { - Finish(ctx, NMonUtil::PrepareError(params.ErrorMsg)); - } else { - auto res = std::make_unique<TEvGetLogoBlobResponse>(); - res->Record.set_error_msg(params.ErrorMsg); - Finish(ctx, res.release()); - } + HandleErrorAndDie(ctx, params.ErrorMsg); return; } @@ -452,7 +447,8 @@ namespace NKikimr { req = TEvBlobStorage::TEvVGet::CreateRangeIndexQuery(SelfVDiskId, TInstant::Max(), NKikimrBlobStorage::EGetHandleClass::AsyncRead, flags, {}, From, To, 1000); } else { - Y_FAIL("Unknown button"); + HandleErrorAndDie(ctx, "Unknown button"); + return; } if (req) { @@ -532,19 +528,22 @@ namespace NKikimr { } } - - void HandleWakeup(const TActorContext &ctx) { + void HandleErrorAndDie(const TActorContext &ctx, TString error) { if constexpr (IsHttpInfo) { TStringStream str; - str << "<strong><strong>Timeout</strong></strong>"; + str << "<strong><strong>" << error << "</strong></strong>"; Finish(ctx, new NMon::TEvHttpInfoRes(str.Str())); } else { auto res = std::make_unique<TEvGetLogoBlobResponse>(); - res->Record.set_error_msg("Timeout"); + res->Record.set_error_msg(error); Finish(ctx, res.release()); } } + void HandleWakeup(const TActorContext &ctx) { + HandleErrorAndDie(ctx, "Timeout"); + } + void Finish(const TActorContext &ctx, IEventBase *ev) { ctx.Send(NotifyId, new TEvents::TEvActorDied); ctx.Send(Ev->Sender, ev); @@ -1120,4 +1119,3 @@ namespace NKikimr { } } // NKikimr - diff --git a/ydb/core/viewer/json_getblob.h b/ydb/core/viewer/json_getblob.h index a44e457c8f1..94ce3299495 100644 --- a/ydb/core/viewer/json_getblob.h +++ b/ydb/core/viewer/json_getblob.h @@ -18,7 +18,7 @@ struct TJsonVDiskRequestHelper<TEvGetLogoBlobRequest, TEvGetLogoBlobResponse> { static std::unique_ptr<TEvGetLogoBlobRequest> MakeRequest(NMon::TEvHttpInfo::TPtr &ev, TString *error) { const TCgiParameters& cgi = ev->Get()->Request.GetParams(); - bool internals = static_cast<bool>(cgi.Get("internals")); + bool internals = cgi.Has("internals"); TString from = cgi.Get("from"); TString to = cgi.Get("to"); |