aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkruall <kruall@ydb.tech>2022-12-01 17:02:31 +0300
committerkruall <kruall@ydb.tech>2022-12-01 17:02:31 +0300
commit91d3e1feb4f1a7648f4eedfd2eb1f113b222501f (patch)
tree896bbe8375a6b79dc39f13641002554f3025db49
parentf8d315d838d9d5f3fda70e2f30e29ac6f38315c6 (diff)
downloadydb-91d3e1feb4f1a7648f4eedfd2eb1f113b222501f.tar.gz
Fix getblob hangle,
-rw-r--r--ydb/core/blobstorage/vdisk/skeleton/blobstorage_monactors.cpp32
-rw-r--r--ydb/core/viewer/json_getblob.h2
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");