aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Kardymon <kardymon-d@ydb.tech>2025-03-13 14:17:03 +0300
committerGitHub <noreply@github.com>2025-03-13 14:17:03 +0300
commit02beccef6952ed152d2c5e49c5d1aa5fe9be5bbe (patch)
tree8d6202c5a26faedd5f57d27321cd13f31caa7475
parent689430d237f19e3e15429598d18d7c04d8354029 (diff)
downloadydb-02beccef6952ed152d2c5e49c5d1aa5fe9be5bbe.tar.gz
Fix get external source exception (#15646)
-rw-r--r--ydb/core/kqp/gateway/kqp_metadata_loader.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/ydb/core/kqp/gateway/kqp_metadata_loader.cpp b/ydb/core/kqp/gateway/kqp_metadata_loader.cpp
index b78db6f96f..e740f959b1 100644
--- a/ydb/core/kqp/gateway/kqp_metadata_loader.cpp
+++ b/ydb/core/kqp/gateway/kqp_metadata_loader.cpp
@@ -869,7 +869,14 @@ NThreading::TFuture<TTableMetadataResult> TKqpTableMetadataLoader::LoadTableMeta
NExternalSource::IExternalSource::TPtr externalSource;
if (settings.ExternalSourceFactory) {
- externalSource = settings.ExternalSourceFactory->GetOrCreate(externalDataSourceMetadata.Metadata->ExternalSource.Type);
+ try {
+ externalSource = settings.ExternalSourceFactory->GetOrCreate(externalDataSourceMetadata.Metadata->ExternalSource.Type);
+ } catch (const std::exception& exception) {
+ TTableMetadataResult wrapper;
+ wrapper.SetException(yexception() << "couldn't get external source with type " << externalDataSourceMetadata.Metadata->ExternalSource.Type << ", " << exception.what());
+ promise.SetValue(wrapper);
+ return;
+ }
}
if (externalSource && externalSource->CanLoadDynamicMetadata()) {