From 2f79e47ddeee05072e6bbfbe345899799c15e10b Mon Sep 17 00:00:00 2001 From: zhangjingfang Date: Tue, 22 Sep 2020 16:12:48 +0800 Subject: [PATCH] fix show empty schema or catalog throws exception --- .../hetufilesystem/HetuFsMetastore.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/hetu-metastore/src/main/java/io/hetu/core/metastore/hetufilesystem/HetuFsMetastore.java b/hetu-metastore/src/main/java/io/hetu/core/metastore/hetufilesystem/HetuFsMetastore.java index 5f601df4c..a4d199b91 100644 --- a/hetu-metastore/src/main/java/io/hetu/core/metastore/hetufilesystem/HetuFsMetastore.java +++ b/hetu-metastore/src/main/java/io/hetu/core/metastore/hetufilesystem/HetuFsMetastore.java @@ -14,6 +14,7 @@ */ package io.hetu.core.metastore.hetufilesystem; +import com.google.common.collect.ImmutableList; import com.google.common.io.CharStreams; import io.airlift.json.JsonCodec; import io.airlift.log.Logger; @@ -459,7 +460,12 @@ public class HetuFsMetastore checkArgument(catalogName.matches("[\\p{Alnum}_]+"), "Invalid catalog name"); List databases = new ArrayList<>(); - assertCatalogExist(catalogName); + try { + assertCatalogExist(catalogName); + } + catch (CatalogNotFoundException e) { + return ImmutableList.of(); + } try (Stream paths = client.list(getCatalogMetadataDir(catalogName))) { List databasePaths = paths.filter(path -> path.toString().endsWith(METADATA_SUFFIX)) .collect(Collectors.toList()); @@ -619,8 +625,13 @@ public class HetuFsMetastore List tables = new ArrayList<>(); - assertCatalogExist(catalogName); - assertDatabaseExist(catalogName, databaseName); + try { + assertCatalogExist(catalogName); + assertDatabaseExist(catalogName, databaseName); + } + catch (CatalogNotFoundException | SchemaNotFoundException e) { + return ImmutableList.of(); + } try (Stream paths = client.list(getDatabaseMetadataDir(catalogName, databaseName))) { List tablePaths = paths.filter(path -> path.toString().endsWith(METADATA_SUFFIX))