github-actions[bot] commented on code in PR #67545:
URL: https://github.com/apache/doris/pull/67545#discussion_r3944025989
##########
fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnector.java:
##########
@@ -465,11 +469,32 @@ private Catalog createCatalog() {
hmsAuth, storageHadoopConfig,
"Failed to create Paimon catalog with HMS metastore");
}
+ case PaimonCatalogProperties.DLF: {
+ // Legacy DLF catalogs often expose OSS only through dlf.*
aliases and an oss:// warehouse.
+ // Check the resolved storage bindings here so those catalogs
remain valid while non-OSS
+ // backends cannot be passed to Paimon's DLF Hive catalog.
+ if
(!hasDlfCompatibleStorage(storage().getStorageProperties())) {
+ throw new IllegalStateException("Paimon DLF metastore
requires OSS storage properties.");
+ }
+ DlfMetaStoreProperties dlf = (DlfMetaStoreProperties)
+ MetaStoreProviders.bind(catalogProps.getRaw(),
storageHadoopConfig);
+ Map<String, String> dlfConf = new
HashMap<>(dlf.toDlfCatalogConf());
+ dlfConf.put(PaimonCatalogFactory.DLF_CLIENT_POOL_IDENTITY,
+ PaimonCatalogFactory.dlfClientPoolIdentity(dlfConf));
+ HiveConf hc = PaimonCatalogFactory.assembleHiveConf(null,
dlfConf);
+ return createCatalogFromContext(CatalogContext.create(options,
hc), flavor,
+ "Failed to create Paimon catalog with DLF metastore");
+ }
default:
throw new IllegalArgumentException("Unknown
paimon.catalog.type value: " + flavor);
}
}
+ static boolean hasDlfCompatibleStorage(List<StorageProperties>
storageProperties) {
+ return storageProperties.stream().anyMatch(storage ->
"OSS".equals(storage.providerName())
Review Comment:
[P1] Route plain OSS paths through the accepted OSS-HDFS binding
This branch now accepts `OSS_HDFS`, but runtime routing still classifies a
normal `oss://bucket/...` warehouse or data path as native `OSS` unless the URI
text itself contains `oss-dls`. Because `bindAll()` omits native OSS once
OSS-HDFS matches, and the S3-family fallback rejects the `OSSHDFS` family,
`normalizeStorageUri()` throws `No storage properties found for schema: oss`
for native data and deletion-vector paths; the full-context FE probe fails the
same way. This is distinct from the mixed-case endpoint issue: a correctly
converted endpoint does not help a bucket-only data URI select the bound
adapter. Please route bare `oss://` to the sole OSS-HDFS binding (or normalize
through that selected adapter) and cover an OSS-HDFS-only native scan with
plain bucket URIs.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]