diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/util/LocationPath.java b/fe/fe-core/src/main/java/org/apache/doris/common/util/LocationPath.java index 267e20a1f959bc..4604e4deabb2b7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/util/LocationPath.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/LocationPath.java @@ -131,7 +131,19 @@ private LocationPath(String originLocation, Map props, boolean c tmpLocation = convertPath ? convertToS3(tmpLocation) : tmpLocation; break; case FeConstants.FS_PREFIX_OSS: - if (isHdfsOnOssEndpoint(tmpLocation)) { + String endpoint = ""; + if (props.containsKey(OssProperties.ENDPOINT)) { + endpoint = props.get(OssProperties.ENDPOINT); + if (endpoint.startsWith(OssProperties.OSS_PREFIX)) { + // may use oss.oss-cn-beijing.aliyuncs.com + endpoint = endpoint.replace(OssProperties.OSS_PREFIX, ""); + } + } else if (props.containsKey(S3Properties.ENDPOINT)) { + endpoint = props.get(S3Properties.ENDPOINT); + } else if (props.containsKey(S3Properties.Env.ENDPOINT)) { + endpoint = props.get(S3Properties.Env.ENDPOINT); + } + if (isHdfsOnOssEndpoint(endpoint)) { this.scheme = Scheme.OSS_HDFS; } else { if (useS3EndPoint(props)) { @@ -398,7 +410,7 @@ private static String normalizedLakefsPath(String location) { } } - private FileSystemType getFileSystemType() { + public FileSystemType getFileSystemType() { FileSystemType fsType; switch (scheme) { case S3: diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonFileExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonFileExternalCatalog.java index 9b956a551d5b93..e74f3deeaf501e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonFileExternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonFileExternalCatalog.java @@ -17,9 +17,11 @@ package org.apache.doris.datasource.paimon; +import org.apache.doris.common.util.LocationPath; import org.apache.doris.datasource.property.PropertyConverter; import org.apache.doris.datasource.property.constants.CosProperties; import org.apache.doris.datasource.property.constants.ObsProperties; +import org.apache.doris.datasource.property.constants.OssProperties; import org.apache.doris.datasource.property.constants.PaimonProperties; import org.apache.logging.log4j.LogManager; @@ -53,12 +55,17 @@ protected void setPaimonCatalogOptions(Map properties, Map