plusplusjiajia opened a new pull request, #828:
URL: https://github.com/apache/iceberg-cpp/pull/828

     Follow-up to #719: replaces the temporary warehouse-based FileIO detection
     with a scheme-based `ResolvingFileIO`, mirroring Java.
   
     ### Why
   
     The FileIO impl was picked from `DetectBuiltinFileIO(warehouse)`, so any
     non-`s3://` warehouse resolved to `arrow-fs-local` and binding vended
     credentials failed with `Configured FileIO does not support vended storage
     credentials`. Credential-vending catalogs typically use a logical warehouse
     identifier (bucket ARN / catalog name), not a storage URI, so the feature
     only worked when `warehouse` was literally `s3://…`.
   
     ### What
   
     1. **`ResolvingFileIO` (core)** — picks the impl per file-path scheme
        (`s3`/`s3a`/`s3n`/`oss` → `arrow-fs-s3`; `file`/no scheme → local; else
        `NotSupported`), lazily loaded via `FileIORegistry` and cached; forwards
        the full credential list to impls that support it (Java
        `ResolvingFileIO` semantics). Registered as `resolving-file-io`.
     2. **REST default** — `MakeCatalogFileIO` defaults to `resolving-file-io`
        when `io-impl` is unset (Java `DEFAULT_FILE_IO_IMPL` likewise); the
        warehouse detection and the `io-impl`-vs-warehouse check are removed.
        Explicit `io-impl` is honored as before.
     3. **`ArrowS3FileIO`** — `SetStorageCredentials` skips non-S3 credential
        prefixes instead of rejecting the set (Java `S3FileIO` filters by 
`"s3"`);
        servers may vend credentials for several storage systems at once.


-- 
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]

Reply via email to