github-actions[bot] commented on code in PR #68540:
URL: https://github.com/apache/doris/pull/68540#discussion_r4228861201
##########
fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnector.java:
##########
@@ -438,7 +438,7 @@ private Catalog createCatalog() {
// filesystem carries a Hadoop Configuration for HDFS/S3
storage.
Configuration conf =
PaimonCatalogFactory.buildHadoopConfiguration(
catalogProps.getRaw(), storageHadoopConfig);
- return createCatalogFromContext(CatalogContext.create(options,
conf), flavor,
+ return
createCatalogFromContext(PaimonCatalogFactory.createCatalogContext(options,
conf), flavor,
Review Comment:
[P2] Apply the native GCS context to Paimon REST catalogs too. These new
calls install `fs.gs.*` and `NativeGcsFileIO.Loader` for
filesystem/JDBC/HMS/DLF, but the REST sibling at line 446 still passes
`CatalogContext.create(options)` with no GCS Hadoop configuration. [Paimon
1.4.2
RESTCatalog](https://github.com/apache/paimon/blob/release-1.4.2/paimon-core/src/main/java/org/apache/paimon/rest/RESTCatalog.java#L1108-L1138)
constructs local `ResolvingFileIO` from that context for external table paths,
and for data when REST data tokens are disabled; a private GCS table requiring
configured impersonation then fails or uses the wrong identity. Pass the same
storage configuration and loader into the REST context and cover that path.
##########
be/src/io/fs/s3_file_system.cpp:
##########
@@ -98,6 +98,7 @@ Status ObjClientHolder::reset(const S3ClientConf& conf) {
reset_conf.role_arn = conf.role_arn;
reset_conf.external_id = conf.external_id;
reset_conf.cred_provider_type = conf.cred_provider_type;
+ reset_conf.credential = conf.credential;
Review Comment:
[P2] Copy the provider when resetting a policy resource client. A
policy-referenced resource can start as explicit S3 without static AK/SK and
then be ALTERed to `provider=GCP` plus `gs.credential_provider_type=DEFAULT`
(for example with `s3_validity_check=false`); FE accepts and publishes the new
version. This reset copies the native credential but keeps
`_conf.provider=AWS`, so `S3ClientFactory::create` rejects it (`GCP credentials
require provider=GCP`), and `update_s3_resource` retains the old
filesystem/version while FE reports success. Copy `conf.provider` into
`reset_conf` and cover the S3-to-GCP policy push.
--
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]