liurenjie1024 commented on issue #1314:
URL: https://github.com/apache/iceberg-rust/issues/1314#issuecomment-2893204214

   > > I still recommend wrapping it in a struct when passing around in the 
crate
   
   > So are you proposing making Storage a trait instead? If so for the sake of 
argument, could this just be ObjectStore?
   
   I still have concerns for using `ObjectStore` directly for several reasons:
   
   1. Since the goal of this refactoring is to make underlying implementation 
extensible and allowing user to choose provider freely, I don't think it's a 
good idea to bind the interface to a specific vendor. For example, we also want 
to allow user to use `OpenDAL`.
   2. Another important goal of this refactoring is to even allowing user to 
provide their own `FileIO` provider(or `Storage`) implementation. I took a look 
at `ObjectStore` trait, it's not aligned well with `FileIO` requirement. For 
example, it requires `copy`/`list` as required methods, which are not required 
by `FileIO`([this 
interface](https://github.com/apache/iceberg/blob/f06c4f7dfc98cc944a0e1d3a7b38ade0aaa52ce3/api/src/main/java/org/apache/iceberg/io/SupportsPrefixOperations.java#L25)
 is optional).
   
   


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to