Browse Source

Revert "external table content has been decoded for viewer (#1055)" (#1190)

* Revert "external table content has been decoded for viewer (#1055)"

This reverts commit 56e9a2180c82c7a8a24cf6c00b2f56578683eb4b.

* Revert "scheme tests have been fixed (#1182)"

This reverts commit 6fe76108802fcf3f811a5aa0b941d424b298a1f1.
Oleg Doronin 1 year ago
parent
commit
4a40fe6b95

+ 0 - 1
ydb/core/base/appdata.h

@@ -11,7 +11,6 @@
 #include "event_filter.h"
 
 #include <ydb/core/control/immediate_control_board_impl.h>
-#include <ydb/core/external_sources/external_source_factory.h>
 #include <ydb/core/grpc_services/grpc_helper.h>
 #include <ydb/core/protos/auth.pb.h>
 #include <ydb/core/protos/cms.pb.h>

+ 0 - 6
ydb/core/base/appdata_fwd.h

@@ -102,10 +102,6 @@ namespace NYdb {
 
 namespace NKikimr {
 
-namespace NExternalSource {
-    struct IExternalSourceFactory;
-}
-
 namespace NScheme {
     class TTypeRegistry;
 }
@@ -152,8 +148,6 @@ struct TAppData {
     const NDataShard::IExportFactory *DataShardExportFactory = nullptr;
     const TFormatFactory* FormatFactory = nullptr;
     const NSQS::IEventsWriterFactory* SqsEventsWriterFactory = nullptr;
-    TIntrusivePtr<NExternalSource::IExternalSourceFactory> ExternalSourceFactory = nullptr;
-    
 
     NSQS::IAuthFactory* SqsAuthFactory = nullptr;
 

+ 0 - 7
ydb/core/driver_lib/run/run.cpp

@@ -996,13 +996,6 @@ void TKikimrRunner::InitializeAppData(const TKikimrRunConfig& runConfig)
     AppData->PersQueueGetReadSessionsInfoWorkerFactory = ModuleFactories ? ModuleFactories->PQReadSessionsInfoWorkerFactory.get() : nullptr;
     AppData->IoContextFactory = ModuleFactories ? ModuleFactories->IoContextFactory.get() : nullptr;
 
-    std::vector<TString> hostnamePatterns;
-    if (runConfig.AppConfig.HasQueryServiceConfig()) {
-        const auto& patterns = runConfig.AppConfig.GetQueryServiceConfig().GetHostnamePatterns();
-        hostnamePatterns = {patterns.begin(), patterns.end()};
-    }
-    AppData->ExternalSourceFactory = NExternalSource::CreateExternalSourceFactory(hostnamePatterns);
-
     AppData->SqsAuthFactory = ModuleFactories
         ? ModuleFactories->SqsAuthFactory.get()
         : nullptr;

+ 3 - 2
ydb/core/kqp/host/kqp_host.cpp

@@ -1517,8 +1517,8 @@ private:
 
         auto queryExecutor = MakeIntrusive<TKqpQueryExecutor>(Gateway, Cluster, SessionCtx, KqpRunner);
         auto kikimrDataSource = CreateKikimrDataSource(*FuncRegistry, *TypesCtx, gatewayProxy, SessionCtx,
-            AppData()->ExternalSourceFactory, IsInternalCall);
-        auto kikimrDataSink = CreateKikimrDataSink(*FuncRegistry, *TypesCtx, gatewayProxy, SessionCtx, AppData()->ExternalSourceFactory, queryExecutor);
+            ExternalSourceFactory, IsInternalCall);
+        auto kikimrDataSink = CreateKikimrDataSink(*FuncRegistry, *TypesCtx, gatewayProxy, SessionCtx, ExternalSourceFactory, queryExecutor);
 
         FillSettings.AllResultsBytesLimit = Nothing();
         FillSettings.RowsLimitPerWrite = SessionCtx->Config()._ResultRowsLimit.Get();
@@ -1649,6 +1649,7 @@ private:
 
     TIntrusivePtr<TExecuteContext> ExecuteCtx;
     TIntrusivePtr<IKqpRunner> KqpRunner;
+    NExternalSource::IExternalSourceFactory::TPtr ExternalSourceFactory{NExternalSource::CreateExternalSourceFactory({})};
 
     TKqpTempTablesState::TConstPtr TempTablesState;
     NActors::TActorSystem* ActorSystem = nullptr;

+ 0 - 7
ydb/core/testlib/actors/test_runtime.cpp

@@ -3,7 +3,6 @@
 #include <ydb/core/base/appdata.h>
 #include <ydb/core/base/blobstorage.h>
 #include <ydb/core/base/counters.h>
-#include <ydb/core/external_sources/external_source_factory.h>
 #include <ydb/core/mon/sync_http_mon.h>
 #include <ydb/core/mon_alloc/profiler.h>
 #include <ydb/core/tablet/tablet_impl.h>
@@ -154,12 +153,6 @@ namespace NActors {
             nodeAppData->S3ProxyResolverConfig = app0->S3ProxyResolverConfig;
             nodeAppData->EnableMvccSnapshotWithLegacyDomainRoot = app0->EnableMvccSnapshotWithLegacyDomainRoot;
             nodeAppData->IoContextFactory = app0->IoContextFactory;
-            if (app0->ExternalSourceFactory) {
-                nodeAppData->ExternalSourceFactory = app0->ExternalSourceFactory;
-            } else {
-                nodeAppData->ExternalSourceFactory = NKikimr::NExternalSource::CreateExternalSourceFactory({});
-            }
-
             if (KeyConfigGenerator) {
                 nodeAppData->KeyConfig = KeyConfigGenerator(nodeIndex);
             } else {

+ 0 - 2
ydb/core/testlib/test_client.cpp

@@ -245,8 +245,6 @@ namespace Tests {
             appData.DataStreamsAuthFactory = Settings->DataStreamsAuthFactory.get();
             appData.PersQueueMirrorReaderFactory = Settings->PersQueueMirrorReaderFactory.get();
             appData.HiveConfig.MergeFrom(Settings->AppConfig->GetHiveConfig());
-            const auto& hostnamePatterns = Settings->AppConfig->GetQueryServiceConfig().GetHostnamePatterns();
-            appData.ExternalSourceFactory = NExternalSource::CreateExternalSourceFactory(std::vector<TString>(hostnamePatterns.begin(), hostnamePatterns.end()));
 
             appData.DynamicNameserviceConfig = new TDynamicNameserviceConfig;
             auto dnConfig = appData.DynamicNameserviceConfig;

+ 5 - 1
ydb/core/tx/schemeshard/schemeshard_impl.cpp

@@ -4271,7 +4271,6 @@ void TSchemeShard::OnActivateExecutor(const TActorContext &ctx) {
     EnableStatistics = appData->FeatureFlags.GetEnableStatistics();
     EnableTablePgTypes = appData->FeatureFlags.GetEnableTablePgTypes();
     EnableServerlessExclusiveDynamicNodes = appData->FeatureFlags.GetEnableServerlessExclusiveDynamicNodes();
-    ExternalSourceFactory = appData->ExternalSourceFactory;
 
     ConfigureCompactionQueues(appData->CompactionConfig, ctx);
     ConfigureStatsBatching(appData->SchemeShardConfig, ctx);
@@ -6720,6 +6719,11 @@ void TSchemeShard::ApplyConsoleConfigs(const NKikimrConfig::TAppConfig& appConfi
         LoadTableProfiles(nullptr, ctx);
     }
 
+    if (appConfig.HasQueryServiceConfig()) {
+        const auto& hostnamePatterns = appConfig.GetQueryServiceConfig().GetHostnamePatterns();
+        ExternalSourceFactory = NExternalSource::CreateExternalSourceFactory(std::vector<TString>(hostnamePatterns.begin(), hostnamePatterns.end()));
+    }
+
     if (IsSchemeShardConfigured()) {
         StartStopCompactionQueues();
     }

+ 1 - 1
ydb/core/tx/schemeshard/schemeshard_impl.h

@@ -310,7 +310,7 @@ public:
     TActorId DelayedInitTenantDestination;
     TAutoPtr<TEvSchemeShard::TEvInitTenantSchemeShardResult> DelayedInitTenantReply;
 
-    NExternalSource::IExternalSourceFactory::TPtr ExternalSourceFactory;
+    NExternalSource::IExternalSourceFactory::TPtr ExternalSourceFactory{NExternalSource::CreateExternalSourceFactory({})};
 
     THolder<TProposeResponse> IgniteOperation(TProposeRequest& request, TOperationContext& context);
     THolder<TEvDataShard::TEvProposeTransaction> MakeDataShardProposal(const TPathId& pathId, const TOperationId& opId,

+ 0 - 36
ydb/core/viewer/json_describe.h

@@ -268,7 +268,6 @@ public:
                 headers = HTTPFORBIDDENJSON;
             }
             TProtoToJson::ProtoToJson(json, *DescribeResult, JsonSettings);
-            DecodeExternalTableContent(json);
         } else {
             json << "null";
         }
@@ -277,41 +276,6 @@ public:
         PassAway();
     }
 
-    void DecodeExternalTableContent(TStringStream& json) const {
-        if (!DescribeResult) {
-            return;
-        }
-
-        if (!DescribeResult->GetPathDescription().HasExternalTableDescription()) {
-            return;
-        }
-
-        const auto& content = DescribeResult->GetPathDescription().GetExternalTableDescription().GetContent();
-        if (!content) {
-            return;
-        }
-
-        NJson::TJsonValue root;
-        const auto& sourceType = DescribeResult->GetPathDescription().GetExternalTableDescription().GetSourceType();
-        try {
-            NJson::ReadJsonTree(json.Str(), &root);
-            root["PathDescription"]["ExternalTableDescription"].EraseValue("Content");
-            auto source = AppData()->ExternalSourceFactory->GetOrCreate(sourceType);
-            auto parameters = source->GetParameters(content);
-            for (const auto& [key, items]: parameters) {
-                NJson::TJsonValue array{NJson::EJsonValueType::JSON_ARRAY};
-                for (const auto& item: items) {
-                    array.AppendValue(item);
-                }
-                root["PathDescription"]["ExternalTableDescription"]["Content"][key] = array;
-            }
-        } catch (...) {
-            BLOG_CRIT("Сan't unpack content for external table: " << sourceType << ", error: " << CurrentExceptionMessage());
-        }
-        json.Clear();
-        json << root;
-    }
-
     void HandleTimeout() {
         Send(Event->Sender, new NMon::TEvHttpInfoRes(Viewer->GetHTTPGATEWAYTIMEOUT(Event->Get()), 0, NMon::IEvHttpInfoRes::EContentType::Custom));
         PassAway();