nsivarajan commented on PR #61329:
URL: https://github.com/apache/doris/pull/61329#issuecomment-4062281176
Thanks @gavinchou for the suggestion. I agree with the consistency concern —
I've re-architected the FE to remove the separate `OSSStorageVault` class and
instead reuse `S3StorageVault`, routing OSS as a provider variant through
`S3Properties.java`. This keeps the FE consistent with the existing pattern. I
will update the PR with a commit soon.
On the BE side, the separation is handled cleanly via the `provider` field.
In cloud/decoupled mode, storage vaults with `provider=OSS` route to the native
Alibaba Cloud OSS SDK, while all other usage paths (non-cloud mode, external
tables, `TS3StorageParam`, etc.) continue to use OSS via the S3-compatible AWS
SDK — unchanged for now (I will update this later if needed).
```cpp
// cloud_meta_mgr.cpp — cloud/decoupled mode vault loading
if (obj_store.provider() == ObjectStoreInfoPB::OSS)
vault_infos->emplace_back(id, OSSConf::get_oss_conf(obj_store),
path_format); // native OSS SDK
else
vault_infos->emplace_back(id, S3Conf::get_s3_conf(obj_store),
path_format); // AWS SDK
```
The native OSS SDK path is required for cloud mode because it supports
Alibaba-specific credential providers — ECS instance profiles, STS
`AssumeRole`, and RRSA/OIDC — which are not available through the S3-compatible
API.
The OSS file reader, writer, and recycler accessor are implemented as
separate components backed by `AlibabaCloud::OSS::OssClient`, while all other
providers (S3, COS, OBS, GCP, etc.) continue through the existing AWS SDK path
unchanged.
Please let me know if this aligns with the pattern you intended so I can
proceed with the changes.
--
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]