From 20818663ac9e03e07fceabeed30571993c1ea8bd Mon Sep 17 00:00:00 2001 From: wuwenchi Date: Tue, 14 May 2024 23:40:13 +0800 Subject: [PATCH 1/2] [bugfix](tvf)catch exception for fetching SchemaTableData #34856 --- .../doris/service/FrontendServiceImpl.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java index 9128220d9b00f2..36fdec157ac6c4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java +++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java @@ -2234,13 +2234,18 @@ public TFrontendPingFrontendResult ping(TFrontendPingFrontendRequest request) th @Override public TFetchSchemaTableDataResult fetchSchemaTableData(TFetchSchemaTableDataRequest request) throws TException { - switch (request.getSchemaTableName()) { - case METADATA_TABLE: - return MetadataGenerator.getMetadataTable(request); - default: - break; + try { + switch (request.getSchemaTableName()) { + case METADATA_TABLE: + return MetadataGenerator.getMetadataTable(request); + default: + break; + } + return MetadataGenerator.errorResult("Fetch schema table name is not set"); + } catch (Exception e) { + LOG.warn("Failed to fetchSchemaTableData", e); + return MetadataGenerator.errorResult(e.getMessage()); } - return MetadataGenerator.errorResult("Fetch schema table name is not set"); } private TNetworkAddress getClientAddr() { From 4644ee5ae4f7817ba8e54e02eb39be7c1e9fdca6 Mon Sep 17 00:00:00 2001 From: wuwenchi Date: Tue, 21 May 2024 11:50:48 +0800 Subject: [PATCH 2/2] fix --- .../doris/planner/external/iceberg/IcebergMetadataCache.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergMetadataCache.java b/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergMetadataCache.java index 93847190144858..4658ba8b8a4ad8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergMetadataCache.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergMetadataCache.java @@ -65,6 +65,9 @@ public IcebergMetadataCache() { public List getSnapshotList(TIcebergMetadataParams params) throws UserException { CatalogIf catalog = Env.getCurrentEnv().getCatalogMgr().getCatalog(params.getCatalog()); + if (catalog == null) { + throw new UserException("The specified catalog does not exist:" + params.getCatalog()); + } IcebergMetadataCacheKey key = IcebergMetadataCacheKey.of(catalog.getId(), params.getDatabase(), params.getTable()); List ifPresent = snapshotListCache.getIfPresent(key);