zakariya-s commented on PR #2976: URL: https://github.com/apache/iceberg-rust/pull/2976#issuecomment-5300999093
Thanks @CTTY, the main reason for the trait is that credential acquisition/vending isn't really backend specific, and doing it this way avoids each backend storage factory reimplementing the REST auth logic (e.g. auth, parsing, prefix selection, caching, backoff, etc.). Without the trait, `RestCatalog` would have to know or downcast each StorageFactory to configure each specific credential loader. This approach also opens the possibility of non-REST implementations too (like Glue/Lake Formation via AWS specific APIs) without doing what Java does with having custom credential providers for each backend. Also Iceberg Java has the backend-specific vended credential providers in each of the cloud-specific `FileIO` implementations, whereas we only have a generic `FileIO` in iceberg-rust as OpenDAL handles most of it. -- 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]
