This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 2ae02efd46af993e1fa324de274fd10680a4866d Author: GoGoWen <82132356+gogo...@users.noreply.github.com> AuthorDate: Thu Jan 25 23:46:04 2024 +0800 [BugFix](MutilCatalog) fix local file system unavailable in iceberg hadoop catalog (#26769) create catalog in local test/dev env like below: create catalog iceberg PROPERTIES ('type'='iceberg','iceberg.catalog.type' = 'hadoop', 'warehouse' = '/export/workspace/warehouse'); we will get error: "Unrecognized 'warehouse' location format because name service is required." --- .../datasource/iceberg/IcebergHadoopExternalCatalog.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergHadoopExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergHadoopExternalCatalog.java index 06d1a4caaa2..b60360e9022 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergHadoopExternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergHadoopExternalCatalog.java @@ -38,13 +38,16 @@ public class IcebergHadoopExternalCatalog extends IcebergExternalCatalog { String warehouse = props.get(CatalogProperties.WAREHOUSE_LOCATION); Preconditions.checkArgument(StringUtils.isNotEmpty(warehouse), "Cannot initialize Iceberg HadoopCatalog because 'warehouse' must not be null or empty"); - String nameService = StringUtils.substringBetween(warehouse, HdfsResource.HDFS_FILE_PREFIX, "/"); - if (StringUtils.isEmpty(nameService)) { - throw new IllegalArgumentException("Unrecognized 'warehouse' location format" - + " because name service is required."); - } + catalogProperty = new CatalogProperty(resource, props); - catalogProperty.addProperty(HdfsResource.HADOOP_FS_NAME, HdfsResource.HDFS_FILE_PREFIX + nameService); + if (StringUtils.startsWith(warehouse, HdfsResource.HDFS_PREFIX)) { + String nameService = StringUtils.substringBetween(warehouse, HdfsResource.HDFS_FILE_PREFIX, "/"); + if (StringUtils.isEmpty(nameService)) { + throw new IllegalArgumentException("Unrecognized 'warehouse' location format" + + " because name service is required."); + } + catalogProperty.addProperty(HdfsResource.HADOOP_FS_NAME, HdfsResource.HDFS_FILE_PREFIX + nameService); + } } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org