diff options
author | Dmitry Kardymon <kardymon-d@ydb.tech> | 2025-03-13 14:17:03 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-13 14:17:03 +0300 |
commit | 02beccef6952ed152d2c5e49c5d1aa5fe9be5bbe (patch) | |
tree | 8d6202c5a26faedd5f57d27321cd13f31caa7475 | |
parent | 689430d237f19e3e15429598d18d7c04d8354029 (diff) | |
download | ydb-02beccef6952ed152d2c5e49c5d1aa5fe9be5bbe.tar.gz |
Fix get external source exception (#15646)
-rw-r--r-- | ydb/core/kqp/gateway/kqp_metadata_loader.cpp | 9 |
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()) { |