crepererum commented on issue #385:
URL: 
https://github.com/apache/arrow-rs-object-store/issues/385#issuecomment-2916149208

   > There are a couple of challenges with what you propose, not least 
get_ranges which is specialized for LocalFileSystem, but also methods like 
delete_stream. I'd very much like what you suggest to be possible, I'm not sure 
it actually is 😅
   
   If you semantically map `get_ranges` to a **single** `get` with the 
respective options (I would propose to extend the range enum to align it more 
closely with the respective HTTP header), then the FS store could do whatever 
optimization it wants based on the passed options.
   
   For `delete_stream`: I would probably keep that method, maybe removing the 
single-object `delete` instead.
   
   That said, we don't have to do "all or nothing". If it's too complicated, 
I'm fine with leaving a few extra methods.
   
   
   
   > > I propose to remove all default implementations from the trait and only 
have a single method per operation, so "get" would look like this:
   > 
   > I think if we did do this, I'd suggest we provide an extension trait for 
what are the current default methods, i.e. ObjectStore would only have 
get_opts, with ObjectStoreExt providing get. This would reduce the downstream 
churn.
   
   Sounds good to me. The trick with the extension trait requires that the 
method names don't collide. So I guess the `get` method on `ObjectStore` then 
should still be named `get_opts`.


-- 
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: github-unsubscr...@arrow.apache.org

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

Reply via email to