From d767041e2946513561bb049bc9ebb7c333da0e73 Mon Sep 17 00:00:00 2001 From: Alexey Efimov Date: Wed, 28 Aug 2024 07:04:53 +0000 Subject: [PATCH] fix segfault in autocomplete handler when redirecting to a database --- ydb/core/viewer/viewer_autocomplete.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/ydb/core/viewer/viewer_autocomplete.h b/ydb/core/viewer/viewer_autocomplete.h index 4e1d106b8155..50975f55e079 100644 --- a/ydb/core/viewer/viewer_autocomplete.h +++ b/ydb/core/viewer/viewer_autocomplete.h @@ -13,8 +13,6 @@ using TNavigate = NSchemeCache::TSchemeCacheNavigate; class TJsonAutocomplete : public TViewerPipeClient { using TThis = TJsonAutocomplete; using TBase = TViewerPipeClient; - IViewer* Viewer; - NMon::TEvHttpInfo::TPtr Event; TEvViewer::TEvViewerRequest::TPtr ViewerRequest; TJsonSettings JsonSettings; ui32 Timeout = 0; @@ -47,9 +45,8 @@ class TJsonAutocomplete : public TViewerPipeClient { std::vector TenantDynamicNodes; bool Direct = false; public: - TJsonAutocomplete(IViewer* viewer, NMon::TEvHttpInfo::TPtr &ev) - : Viewer(viewer) - , Event(ev) + TJsonAutocomplete(IViewer* viewer, NMon::TEvHttpInfo::TPtr& ev) + : TBase(viewer, ev) { const auto& params(Event->Get()->Request.GetParams()); InitConfig(params); @@ -165,7 +162,7 @@ class TJsonAutocomplete : public TViewerPipeClient { // autocomplete database list via console request RequestConsoleListTenants(); } else { - Direct |= !Event->Get()->Request.GetHeader("X-Forwarded-From-Node").empty(); // we're already forwarding + Direct |= !TBase::Event->Get()->Request.GetHeader("X-Forwarded-From-Node").empty(); // we're already forwarding Direct |= (Database == AppData()->TenantName) || Database.empty(); // we're already on the right node or don't use database filter if (Database && !Direct) { // proxy request to a dynamic node of the specified database