criccomini opened a new issue, #740:
URL: https://github.com/apache/arrow-rs-object-store/issues/740

   **Is your feature request related to a problem or challenge? Please describe 
what you are trying to do.**
   
   We wrap object stores in SlateDB. We plan to use 
[Extensions](https://docs.rs/object_store/latest/object_store/struct.Extensions.html)
 to send information from the upper (wrapper) layers down into the lower 
stores. For example, we have a caching object store and we tell the object 
store if we're retrying because of a failed decode (i.e. the data is corrupt) 
so the caching object store can drop its copy and re-fetch.
   
   It would be nice to have object stores be able to set extensions in their 
results as well. For example, the caching object store might signal whether the 
read was a cache hit or cache miss (or partial hit/partial miss). There doesn't 
seem to be a way to do this right now.
   
   **Describe the solution you'd like**
   
   I'd like to be able to set `Extensions` in GetResult, PutResult, ListResult, 
and PaginatedListResult.
   
   It would be nice to be able to do this for deletes as well, but I see a 
`DeleteResult` isn't returned right now.
   
   **Describe alternatives you've considered**
   
   We are currently considering providing a wrapper supplier API in 
https://github.com/slatedb/slatedb/pull/1761:
   
   1. User provides raw object store
   2. We wrap the object store in a retrying object store wrapper and 
instrumented object store wrapper
   3. We call "wrap" on our wrapped object store to allow the user to wrap it 
in their cached implementation.
   
   This is a pretty poor user experience.


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

Reply via email to